这意味着,平台支持的最大数组可以使用size_t进行索引。 例如: int array[1000]; for (uint8_t i; i < 1000; ++i) {} 这显然是错误的,uint8没有足够的范围来索引那个数组。size_t则始终保证范围,这是标准所保证的。 至于为什么使用bytes,sizeof array会给出字节大小。需要一个类型来保证能够表示结果。
因为sizeof是编译期的行为,编译的时候就把它变成一个常量了。虽说sizeof的返回类型是std::size_t,但...
编译期行为的特性使sizeof无需专门引入。sizeof在编译阶段转化为常量,其返回类型为size_t,实质上是原生类型的一种包装,无需额外定义。相比之下,运行期行为的typeid操作需要通过std::type_info来实现。若不包含,无法获取到std::type_info的定义,导致typeid无法正常运行。综上,sizeof与typeid的不同...