因为用的比较多,所以我决定整理一下size_t的知识点。
其实说白了就是一种数据类型,在标准C库中定义的,应为unsigned int,在64位系统中为 long unsigned int。
size_t为什么麻烦呢,因为它引起了我程序的问题,也是一种玄学的bug:Typename is not allowed.
这个报错经常是与size_t一起出现的,所以当发现这个错误时,就必须弄懂size_t的真正含义。
一个基本的
无符号整数的C / C + +类型, 它是sizeof操作符返回的结果类型, 该类型的大小是选择。因此,它可以存储在理论上是可能的任何类型的
数组的最大大小。 换句话说,一个
指针可以被安全地放进为size_t类型(一个例外是类的
函数指针,但是这是一个特殊的情况下)。 size_t类型通常用于循环、数组索引、大小的存储和地址运算。 虽然size_t可以存储一个指针,它的目的是更好地使用另一个unsigned整数类型uintptr_t形式。 在某些情况下,使用size_t类型是更为有效,比习惯性使用无符号类型的程序会更安全。
siz