我只是想知道我是否应该使用std::size_t for循环之类的东西,而不是int?例如:一般来说,关于何时使用std::size_t的最佳实践是什么?

C标准保证size_t是一种可以保存任何数组下标的类型。这意味着,从逻辑上讲,size_t应该能够保存任何指针类型。我在一些网站上读到,我在谷歌上发现这是合法的,并且/或应该总是有效的:所以在C99中

我注意到,现代C和c++代码似乎在几乎所有地方都使用size_t而不是int/unsigned int——从C字符串函数的参数到STL。我很好奇这样做的原因和它带来的好处。

我和c中的size_t搞混了,我知道它是由sizeof操作符返回的。但它究竟是什么?它是数据类型吗?假设我有一个for循环:我应该用int I吗?或者size_t i;?