1. 程式人生 > >thinking in C++ 讀書日誌(四)

thinking in C++ 讀書日誌(四)

第四章 資料抽象

  所謂資料抽象,主要講的就是structclass了。本章詳細講述了class的由來,以及它從struct轉換而來的具體過程和原因。仔細閱讀會對class有更深層的認識。

  本章的知識點比較集中,不易拆開說,而且其中有很多程式設計思想和方法,所以這次就不寫“推薦看點”了,instead 這裡提出幾個問題,以盡最大的可能方便大家的閱讀。如果你都能回答,那麼本章的最主要內容你就已經掌握了,本章可迅速掠過。否則你就可以選其中感興趣的部分帶著問題去閱讀,這樣在閱讀時就更有方向性^_^

 

 

1.堆的儲存原理是什麼?

比如string可以不斷地填入字串而不需限定空間大小,而vector則可以做到願意放什麼型別就放什麼型別。這些是怎麼做到的呢?

大家可以從第一個程式例項中得到答案。

 

  2. struct class 有什麼區別?

c++中為什麼要用class代替 struct 呢?(class的優越性在哪裡,而它在實質上與struct有區別嗎?)。

這是貫穿此章的中心。

 

  3. #ifdef #ifndef #endif 是做什麼用的?

 這裡順便提一下,新的標準中引入了#pragma once, 它可以在標頭檔案中代替#ifndef #endif. 它書寫起來更方便。

另外#pragma家族還有很多其他功能哦。具體大家可以在http://blog.csdn.net/roger_it/archive/2007/02/09/1506249.aspx得到更詳細的資訊。

 

4.關於void*指標的操作

   如何把void*型別根據需要轉換為int*char*輸出呢?而void*指標的作用和價值有是什麼呢?

這些在本章的程式例項中你將能很好地體會到。

 

只寫這麼多吧,希望能對大家有所幫助。