C++ 中的显示关键字是什么意思?
C++ 中的显式关键字用于将构造函数标记为不隐式转换类型。例如,如果您有名为 Foo 的类,那么 −
class Foo { public: Foo(int n); // allocates n bytes to the Foo object Foo(const char *p); // initialize object with char *p };
现在,如果您尝试
Foo mystring = 'x';
字符 'x' 将被隐式转换为 int,然后将调用 Foo(int) 构造函数。但这并不是预期结果。所以,为了防止出现这种情况并使代码不易出错,将构造函数定义为显式的 −
示例:
class Foo { public: explicit Foo (int n); //allocate n bytes Foo(const char *p); // initialize with string p };
广告