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

强制单参数构造函数在C++中是显式的吗?

如何解决《强制单参数构造函数在C++中是显式的吗?》经验,为你挑选了1个好方法。

默认情况下,在C++中,单参数构造函数可用作隐式转换运算符.这可以通过将构造函数标记为显式来抑制.

我宁愿将"explicit"作为默认值,这样编译器就无法静默使用这些构造函数进行转换.

有没有办法在标准C++中执行此操作?如果失败了,是否有一个pragma(或类似的)在Microsoft C++中可以用来做到这一点?那么g ++(我们不使用它,但它可能是有用的信息)?



1> Matt Price..:

不,你必须亲手完成.这是一种痛苦,但你当然应该养成使单个参数构造函数明确的习惯.我无法想象如果找到解决方案然后必须将代码移植到另一个平台,您会遇到的痛苦.你应该回避这样的编译器扩展,因为它会使代码不那么便携.

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