gpt4 book ai didi

c++ - 为什么构造函数默认不显式?

转载 作者:IT老高 更新时间:2023-10-28 22:34:54 27 4
gpt4 key购买 nike

很容易忘记将构造函数标记为“显式”:添加/删除参数,使它们成为可选等。我知道的唯一可靠方法是将每个构造函数声明为显式,然后仅在需要隐式时删除此关键字设计(感谢标准不仅允许在单参数构造函数上这样做)。但这看起来很难看。

不打算隐式构造函数打开使用(错误的)隐式转换,例如如here .这可能是偶然发生的,也可能会破坏向后兼容性

那么为什么“显式”不是构造函数的默认特征,如果这会导致更少的错误呢?

附言是的,我读过 Stroustrup 的“The Design and Evolution of C++”,只是不记得他在那里有没有提到“显式”

最佳答案

添加显式时的向后兼容性。语言在不断发展,在不断发展的语言中改变现有结构的含义是让用户生气的可靠方式。现在仍然如此,向后兼容性是委员会的首要任务。

关于c++ - 为什么构造函数默认不显式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4607047/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com