gpt4 book ai didi

c++ - 重载的转换运算符或单参数构造函数

转载 作者:可可西里 更新时间:2023-11-01 17:37:34 27 4
gpt4 key购买 nike

如果一个类只有一个参数构造函数,我的理解是它可以在适当的上下文中由构造函数隐式转换为参数类型。定义转换运算符还可以使类可转换为另一种类型。问题

  • 转换运算符是否被隐式调用?
  • 如果为一个类同时定义了具有相同类型的单参数构造函数和转换运算符,是否优先于另一个,还是有歧义?
  • 如果您决定要将一个类转换为给定类型,哪种方法更好,或者您应该同时提供这两种方法?

编辑:

我看我没看清楚方向性,两者是反方向转换的。作为后续

  • 如果您可以控制两个类,并希望它们相互转换,是否有针对这两个操作的首选方法来实现此目的?
  • 是否可以将转换运算符标记为显式?

最佳答案

这两个是相反的:非显式单参数构造函数允许从参数类型自动类型转换您的类类型。转换运算符允许从您的类类型隐式转换。

如果不是特别需要,常识是避免两者。

关于c++ - 重载的转换运算符或单参数构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3461316/

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