小编典典

何时使用 std::size_t?

all

我只是想知道我应该使用std::size_tfor 循环和其他东西而不是int?例如:

#include <cstdint>

int main()
{
    for (std::size_t i = 0; i < 10; ++i) {
        // std::size_t OK here? Or should I use, say, unsigned int instead?
    }
}

一般来说,关于何时使用的最佳实践是什么std::size_t


阅读 88

收藏
2022-05-26

共1个答案

小编典典

一个好的经验法则是,对于需要在循环条件中与自然为 a 的事物进行比较的任何事物std::size_t

std::size_t是任何sizeof表达式的类型,as 保证能够表示 C++
中任何对象(包括任何数组)的最大大小。通过扩展,它也保证对于任何数组索引都足够大,因此它是数组索引循环的自然类型。

如果您只是计算一个数字,那么使用保存该数字的变量类型或intunsigned int(如果足够大)可能更自然,因为这些应该是机器的自然大小。

2022-05-26