【发布时间】:2013-10-07 20:36:35
【问题描述】:
谁能解释当 size_t 或任何其他类型标识符被括在括号中时会发生什么。我知道这是旧的类型转换语法,但在这种情况下,我不了解正在发生的事情。
我已经看到它将类型的最大大小定义为:
size_t max_size = (size_t)-1
【问题讨论】:
-
这是一个 C 风格的演员表。它将
-1转换为size_t,这可能会产生一个非常大的数字。 -
@juanchopanza: 准确的说是
size_t可以代表的最大数量:) -
@VladLazarenko 假设补码 :)
-
@juanchopanza:C++ 标准规定
size_t是无符号的(因为它从 C 继承了关于它的规范)并且无符号整数类型使用模运算。 -
@jtetm 无论如何,获得
size_t最大值的C++ 方法是std::numeric_limits<size_t>::max()。
标签: c++