【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