Ada*_*eld 19
它们是同一个东西,也是一样的(int)(ch).在C++中,通常首选使用命名转换来阐明您的意图:
static_cast在不同大小或签名的原始类型之间进行转换,例如static_cast<char>(anInteger).dynamic_cast将基类向下转换为派生类(仅限多态类型),例如dynamic_cast<Derived *>(aBasePtr).reinterpret_cast在不同类型的指针之间或在指针和整数之间进行转换,例如reinterpret_cast<uintptr_t>(somePtr).const_cast删除const或volatile限定符(非常危险),例如const_cast<char *>(aConstantPointer).Kon*_*lph 10
int(x) 被标准称为函数式转换,并且在各方面都与C风格的转换相同(对于POD)[5.2.3]:
如果表达式列表是单个表达式,则类型转换表达式与相应的强制转换表达式(5.4)等效(在定义中,如果在含义中定义).