C++中explicit

时间:2014-12-26 21:31:55   收藏:0   阅读:346

【explicit】

1.用于抑制隐式转换,即:

X x = 12; // error
X x(12); // ok

2.只对一个实参的构造函数有效,但是,可以用多有多个实参的构造函数,目前没有意义;

class X {
public:
  explicit X(int x);
  explicit X(int x, int y);
  int ex;
  int ey;
};

3.只能在类定义内部使用,在类外部出现时会发生——编译错误:

class X {
public:
    ...
    explicit X(int x); 
    ...
};
explicit X::X(int x) {} // error

 

原文:http://www.cnblogs.com/luo630/p/4187533.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!