thinking in C++ 讀書日誌(四)
第四章 資料抽象
所謂資料抽象,主要講的就是struct和class了。本章詳細講述了class的由來,以及它從struct轉換而來的具體過程和原因。仔細閱讀會對class有更深層的認識。
本章的知識點比較集中,不易拆開說,而且其中有很多程式設計思想和方法,所以這次就不寫“推薦看點”了,instead 這裡提出幾個問題,以盡最大的可能方便大家的閱讀。如果你都能回答,那麼本章的最主要內容你就已經掌握了,本章可迅速掠過。否則你就可以選其中感興趣的部分帶著問題去閱讀,這樣在閱讀時就更有方向性^_^
比如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*指標的作用和價值有是什麼呢?
這些在本章的程式例項中你將能很好地體會到。
只寫這麼多吧,希望能對大家有所幫助。