首页 / 知识
C ++强制转换语法样式
2023-04-13 11:39:00

C++ cast syntax styles与常规投放,static_cast和dynamic_cast相关的问题: 在C ++中,您更喜欢哪种转换语法样式?
它们可能不会翻译成完全相同的指令(是吗?),但是它们的效果应该是相同的(是吗?)。 如果只是在内置数字类型之间进行转换,我会发现C ++样式的转换语法太冗长。 作为前Java编码器,我倾向于使用C样式强制转换语法,但是我的本地C ++专家坚持使用构造函数语法。 你怎么看? 最好不要使用C样式转换,这是三个主要原因:
如palm3D所述:
由于上述原因,这是有意的。 构造函数语法(正式名称:函数样式转换)在语义上与C样式转换相同,并且出于相同的原因,也应避免使用(声明中的变量初始化除外)。即使对于定义自定义构造函数的类型是否应如此,也存在争议,但在有效C ++中,Meyers认为即使在这种情况下,也应避免使用它们。为了显示:
此处的 根据Stroustrup:
因此,确实是安全的,因为它会进行额外的编译时检查。 关于此主题,我遵循Scott Meyers的建议("更有效的C ++,第2项:更喜欢C ++样式的强制转换")。 我同意C ++样式转换很冗长,但这就是我喜欢它们的原因:它们非常容易发现,并且它们使代码更易于阅读(比编写更重要)。 他们还迫使您考虑需要哪种类型的演员,并选择正确的演员,以减少出错的风险。它们还将帮助您在编译时而不是在运行时检测错误。 绝对是C ++风格的。多余的输入将有助于防止您在不应该使用时进行转换:-) 我使用static_cast有两个原因。
构造函数语法。 C ++是OO,构造函数存在,我使用它们。
追求C ++风格,更糟糕的是,构成C ++显式类型转换的丑陋冗长的代码片段将不断提醒我们所知道的内容(即显式转换很糟糕-导致造词的产生)。 目前,我们到处都使用C样式转换。我问了另一个强制转换问题,现在我看到了使用static_cast的好处,如果不是因为它是"可抓取的"(我喜欢这个术语),就别无选择。我可能会开始使用它。 我不喜欢C ++风格;它看起来太像一个函数调用。 C样式转换是最糟糕的选择。很难看到,无法理解,将不应该合并的不同动作组合在一起,并且不能完成C ++样式转换可以执行的所有操作。他们确实应该从该语言中删除C样式的强制转换。
C样式强制转换语法,请勿进行错误检查。 |
最新内容
相关内容
Python文件如何转换为字符串
Python文件如何转换为字符串,数据,主体,名字,培训,文件,字符串,末尾,方法,对象,语句,python文件如何转换为字符串的方法:一、最方便的方法是一Python元组怎么转换成列表
Python元组怎么转换成列表,培训,列表,对象,示例,中将,以上,方法,更多,内容,python中将元组转换成列表的方法是使用list()进行转换。使用示例python中字符串怎么转换成int
python中字符串怎么转换成int,情况,培训,字符串,浮点,错误,类型,不是,臣妾,字面,函数,将字符串转换成,整型,从字面理解很容易让人误会。比如,要python怎么转换格式
python怎么转换格式,数字,培训,负号,小数点,类型,字符,以外,字符串,格式,小数,python中的类型转换int支持转换为int类型的,仅有float、str、bypythonjava语法区别有哪些
pythonjava语法区别有哪些,名称,培训,数字,数据,能存,标准,数据类型,语法,字符串,分号,1、变量java中定义变量,inta=0;而python中为a=0;由此可python常见的数据类型转换函数有哪
python常见的数据类型转换函数有哪些?,培训,数据类型,函数,python语法是什么意思
python语法是什么意思,基础,培训,数据,函数,语法,定义,文件,语句,关键字,方式,python的语法就是编写python程序时需要遵循的一些规则,以及一些pythonpython2和3语法区别
pythonpython2和3语法区别,数字,培训,字符串,平台,函数,类型,语法,区别,对象,整数,以下是Python2和Python3中的一些语法差异,有需要的小伙伴可python构造函数有什么用
python构造函数有什么用,代码,培训,名字,方法,参数,对象,函数,结尾,开头,实例,在创建类时,我们可以手动添加一个__init__()方法,该方法是一个特python构造函数和析构函数是一样的
python构造函数和析构函数是一样的吗,系统,培训,函数,状态,对象,方法,契机,时候,实例,初始化,python构造函数和析构函数:1、构造方法的使用很pythonreturn语法错误怎么解决
pythonreturn语法错误怎么解决,培训,函数,语法错误,字符串,数值,使用说明,语句,定义,对象,以上,return语句是python语言中函数返回的一个值,每python怎么样将字符串转换字符
python怎么样将字符串转换字符,培训,字符串,字符,元素,索引,以上,更多,内容,列表,python中一个字符串也可以看成是一个列表,字符串中的每个元