While the size of int depends on the CPU, long seems to be 32 bit (?). But it seems so intuitive to use int for numbers where size doesn't really matter, like in a for loop.
It's also confusing that C++ has both long and __int32. What is the second for then?
Question: What number types should I use in what situations?