本文介绍了关于“为什么C语言默认明确定义单参数构造函数”的知识。很多人在实际案例操作中都会遇到这种困境。接下来,让边肖带领大家学习如何应对这些情况!希望大家认真阅读,学点东西!
C.46:默认情况下,单参数构造函数Reason是显式定义的,以避免意外转换。
示例,错误(负面示例)类字符串{
公众号:
字符串(int);//BAD
//.
};
字符串s=10//大小为10的惊喜:字符串异常(exception)如果您真的需要从类类型等构造函数参数进行隐式类型转换,请不要使用explicit关键字。
复杂类{
公众号:
复数(双d);//OK:我们需要从d到{d,0}的转换
//.
};
复数z=10.7//意外的转换异常复制和移动构造函数不应被定义为显式的,因为它不会执行类型转换。显式复制/移动构造函数使得传递参数和按值返回结果变得困难。
强制(实现建议)(简单)唯一参数的构造函数应该被定义为显式的。定义良好的非显式单参数构造函数在大多数代码中很少见。警告所有不在“肯定列表”中的情况。
这里介绍一下“为什么C默认显式定义单参数构造函数”的内容。感谢阅读。如果你想了解更多的行业,可以关注网站。边肖将为您输出更多高质量的实用文章!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/124817.html