当前位置:  开发笔记 > 编程语言 > 正文

(int)ch vs. int(ch):它们是同一个东西的不同语法吗?

如何解决《(int)chvs.int(ch):它们是同一个东西的不同语法吗?》经验,为你挑选了2个好方法。

在C++中,is(int)ch等价于int(ch).

如果没有,有什么区别?



1> Adam Rosenfi..:

它们是同一个东西,也是一样的(int)(ch).在C++中,通常首选使用命名转换来阐明您的意图:

用于static_cast在不同大小或签名的原始类型之间进行转换,例如static_cast(anInteger).

用于dynamic_cast将基类向下转换为派生类(仅限多态类型),例如dynamic_cast(aBasePtr).

用于reinterpret_cast在不同类型的指针之间或在指针和整数之间进行转换,例如reinterpret_cast(somePtr).

用于从变量中const_cast删除constvolatile限定符(非常危险),例如const_cast(aConstantPointer).



2> Konrad Rudol..:

int(x) 被标准称为函数式转换,并且在各方面都与C风格的转换相同(对于POD)[5.2.3]:

如果表达式列表是单个表达式,则类型转换表达式与相应的强制转换表达式(5.4)等效(在定义中,如果在含义中定义).

推荐阅读
携手相约幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有