c++ 多对象构造函数的显式关键字?

我最近遇到一些奇怪的课程,有三个构造函数:

class Class
{
    public:
        explicit Class(int );

        Class(AnotherClass );

        explicit Class(YetAnotherClass, AnotherClass );

    // ...
}

这对我来说没有什么意义 – 我认为明确的关键字是保护编译器选择的外部类型的构造。

这是允许的吗?如果是,它是什么意思?

在C 11中,多参数构造函数可以通过括号初始化隐式转换。

但是,在C11显式仅适用于单参数构造函数之前。对于多参数构造函数,它被忽略和had no effect

http://stackoverflow.com/questions/1118680/explicit-keyword-on-multi-arg-constructor

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:c++ 多对象构造函数的显式关键字?