我还应该使用关键字explicit来复制构造函数吗?

时间:2015-12-15 10:51:30

标签: c++11 software-design explicit explicit-conversion

  

C ++提供了关键字explicit来抑制隐式转换   转换构造函数,不允许进行此类转换。一个   声明显式的构造函数不能在隐式中使用   转换。在单参数构造函数上使用explicit关键字   编译器不应该使用它来执行隐式   转化

这是有道理的,但我还应该使用关键字explicit来复制构造函数吗?在其他情况下使用关键字explicit和为什么有用?

1 个答案:

答案 0 :(得分:4)

明确声明复制构造函数是合法的。声明与否真的取决于你想做什么。例如,如果要禁止在函数调用或使用复制初始化语法时隐式调用它,则声明复制构造函数explicit