GeekBand C++面向對象高級編程(二)

本筆記為GeekBand C++面向對象高級編程(上)第二周課程之總結。

一、三大函數

從string類入手,講解Class with pointer members中3個特殊函數:

  • 拷貝構造函數
  • 析構函數
  • 拷貝賦值函數
    任何帶有pointer members的類必須有拷貝構造函數和拷貝賦值函數。

1.1 拷貝構造函數

copy ctor的實現時必須先分配空間,然后再進行拷貝。

1.2 拷貝賦值函數

必須先檢測自我賦值,然后分三步進行

  • 刪除private data
  • 分配內存空間
  • 拷貝數據

二、堆棧以及內存管理

,是存在于某作用域的一塊內存空間。函數本體內聲明的任何變量,其所用內存都取自
,是由操作系統提供的一塊全局內存空間,程序可動態分配從中取得若干區塊。

new是先分配內存再調用構造函數
new是先分配內存再調用構造函數

p1.jpg

delete是先調用析構函數再釋放內存
delete是先調用析構函數再釋放內存

p2.jpg

注意事項:VC中的動態內存分配
VC中動態內存分配
VC中動態內存分配

三、類模板

template<typeneme T>
class complex
{
piblic:
...

private:
...

};

四、namespace的使用

可以理解為界定函數、變量的作用域。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容