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

更新於:2020 年 6 月 24 日

3 千次以上檢視

開啟你的職業生涯

完成課程獲得認證

開始吧
廣告