有人可以解释当size_t或任何其他类型标识符包含在括号中时会发生什么.我知道这是旧的类型转换语法,但在这种情况下,我不会关注正在发生的事情.
我已经看到它将类型的最大大小定义为:
size_t max_size = (size_t)-1
Run Code Online (Sandbox Code Playgroud)
sas*_*hka 10
此代码(不必要地)转换-1为size_t.最可能的意图是获得size_t 该系统的最大可能值.
虽然这段代码没有未定义的行为,但是这段代码很难看 - 在C++中你应该使用C语言std::numeric_limits<size_t>::max()并使用SIZE_MAX宏来获得size_t最大值.