程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> Effective C++ Item 5 了解 C++ 默默編寫並調用哪些函數

Effective C++ Item 5 了解 C++ 默默編寫並調用哪些函數

編輯:C++入門知識

 

經驗:

如果你自己沒聲明,編譯器會自動聲明copy constructor,copy assignment,destructor,

如果你沒有聲明任何構造函數,編譯器會自動聲明default constructor

示例:

如果你寫下

 

class Empty{  };

 

將會等價於

 

class Empty{
public:
    Empty() {...}  //default構造函數
    Empty(const Empty &rhs) {...} //copy 構造函數
    ~Empty() {...} //析構函數
    
    Empty &operator=(const Empty &rhs) { ... } //copy assignment 操作符
}

 

只有當這些函數被調用時,編譯器才會創建它們

 

Empty e1; //default構造函數, 析構函數

Empty e2(e1); //copy 構造函數
e2 = e1; //copy assignment操作符


 

todo

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved