c++的explicit理解

默认规定

只有一个参数的构造函数也定义了一个隐式转换,将该构造函数对应数据类型的数据转换为该类对象

explicit

class A {
    explicit A(int n);
    A(char *p);
};

上面的类A有两个构造函数,那么下面的赋值就是正确的

A a = "string";

而下面的赋值就是错误的

A a = 10;
原文地址:https://www.cnblogs.com/jfwang/p/4446956.html