linux开发

c++ explicit 关键字

c++ explicit 关键字的封面

c++ explicit 关键字

用法:

class A {
    explicit A(int a) {}
}

A a(1);


错误:
A a = 1;
错误:
A a(1, 2);
错误:
A a = {1, 2};
错误:
A a{1, 2};
错误:
A a = (A)1;
错误:
A a = (A){1, 2};

这样在创建对象的时候,只能使用显式的方式创建,不能使用隐式的方式创建。 这样可以避免一些不必要的错误。对创建对象的方式进行限制。