定义
定义于如下头文件
#include<cstddef>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<ctime>
#include<cuchar>
#include<cwchar>
typedef size_t;
详细说明
- std::size_t可以存放下理论上可能存在的对象的最大大小,该对象可以是任何类型,包括数组。自C++14起,大小无法以std::size_t表示的类型是非非良构的。
- std::size_t 通常被用于数组索引和循环计数。
- 使用其它类型来进行数组索引操作的程序可能会在某些情况下出错,例如在 64 位系统中使用 unsigned int 进行索引时,如果索引号超过 UINT_MAX 或者依赖于 32 位取模运算的话,程序就会出错。
- 在对诸如 std::string、std::vector 等 C++ 容器进行索引操作时,正确的类型是该容器的成员 typedef size_type,而该类型通常被定义为与 std::size_t 相同
示例
#include <cstddef>
#include <iostream>
int main()
{
const std::size_t N = 10;
int *a = new int [N];
for(std::size_t n = 0; n < N; n++){
a[n] = n;
}
for(std::size_t n = N; n-- > 0;){
std::cout << a[n] << " ";
}
delete [] a;
}