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

來源:互聯網
上載者:User

第四章 資料抽象

  所謂資料抽象,主要講的就是struct和class了。本章詳細講述了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*指標的作用和價值有是什麼呢?

這些在本章的程式執行個體中你將能很好地體會到。

 

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.