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 };
廣告