When you have a size_t value and need to convert it to an int (for example: to pass it to a function expecting an int parameter), your C++ compiler may emit a warning message, and you may quickly silence it with a static_cast<int>. But, is that really safe? Or could that hide some subtle and "interesting" bugs?
by Giovanni Dicanio
From the article:
You can have some fun experimenting with these kinds of bugs with this simple C++ code [...]
So, these conversions from size_t to int can be dangerous and bug-prone, in both 32-bit and 64-bit builds.