Time of Update: 2018-12-04
什麼是序列化?簡單來說,序列化就是將對象執行個體的狀態轉換為可保持或傳輸的格式的過程。與序列化相對的是還原序列化,它根據流重構對象。這兩個過程結合起來,可以輕鬆地儲存和傳輸資料。 MFC裡有序列化類別CArchive,而當你脫離MFC編程時,要想實現序列化,怎麼辦?自己寫?恐怕沒必要,這裡有一個基於STL的C++庫,可以讓你很方便地完成這個功能:http://s11n.net/ 摘取其網站上的一段介紹:s11n (an abbreviation for serialization) is an
Time of Update: 2018-12-04
1 源檔案hello.c(文本)--à前置處理器----àhello.i(文本)前置處理器:將#include 包含的檔案內容插入該命令處,檢查全文處理#define宏定義,處理條件編譯命令 #if #endif 將不需要的code屏蔽掉,處理完畢後產生修改後的原始碼hello.i.2 hello.i(文本)----à編譯器------àhello.s(組譯工具 文本)編譯器:詞法分析文法分析,產生一條條的彙編語句如mov ax,bx,相當於是最佳化後的組合語言的源檔案。3 hello.s(
Time of Update: 2018-12-04
第九章
Time of Update: 2018-12-04
不多說廢話咯,代碼裡很清晰,學C++已經3年了,當時很多細節都沒關注過,現在看effective c++ 發現已經錯過了很多經典動作。-_-...class CPoint{int x,y;public:CPoint(int x,int y){//cout<<"constructer be call"<<endl;this->x = x;this->y = y;}CPoint(){x = 1;y = 1;}void operator ++()//return
Time of Update: 2018-12-04
第八章 C++函數的進階特性對比C語言的函數,C++增加了重載、內聯、const和virtual四種新機制。其中重載和內聯機制既可用於全域函數也可用於類的成員函數,const與virtual機制僅用於類的成員函數。8、1函數重載的概念函數名相同,範圍相同,參數不同的幾個函數可構成重載。C/C++程式可忽略函數的傳回值,所以不可根據傳回值類型來區分重載函數。全域函數和成員函數因範圍不同,不能構成重載。當心隱式類型轉換導致重載函數產生二義性。如:void output( int x); //
Time of Update: 2018-12-04
第七章 記憶體管理主線是分配、使用、釋放。分配的話,分配多少合適,有多少可用,分配失敗怎麼處理。7、1記憶體的分配方式三種分配記憶體的方式:1) 從靜態儲存地區分配。記憶體在編譯時間已指派好,這塊記憶體在程式整個運行期間都存在。如全域變數,static變數。2) 在棧上建立。棧記憶體配置運算內建於處理器的指令集中,效率很高,但分配的記憶體容量有限。3) 從堆上分配,亦稱動態分配。運行時用new或malloc申請任意多的記憶體,程式員自己負責在何時free或delete記憶體。7、2
Time of Update: 2018-12-04
第十章 類的繼承和組合10.1繼承 【規則10-1-1】若類A和類B毫不相關,不可為了使B的功能更多些而讓B繼承A的功能和屬性。 【規則10-1-2】若在邏輯上B是A的“一種”,並且A的所有功能和屬性對B而言都有意義,則允許B繼承A的功能和屬性。10.2組合 【規則10-2-1】若在邏輯上A是B的“一部分”,則不允許B從A派生,而是要用A和其他東西組合成B。class Eye { public: void Look(void); };
Time of Update: 2018-12-04
第十一章 其他編程經驗11、1利用const提高函數的健壯性 const更大的魅力是它可修飾函數的參數、傳回值、甚至函數的定義體。11.1.1用const修飾函數的參數若參數作輸出用,無論是指標傳遞還是引用傳遞,都不能加const修飾,否則該參數將失去輸出功能。const只能修飾輸入參數:Ø
Time of Update: 2018-12-04
第五章 常量5、1常量類型 C語言用#define啦定義常量(稱為宏常量)。C++除了#define外還可用const來定義常量(稱為const常量)。 const常量有資料類型,而宏常量沒有資料類型。編譯器可對前者進行型別安全檢查。而對後者只進行字元替換,沒有型別安全檢查。所以在C++中只使用const常量而不使用宏常量。5、2常量定義規則
Time of Update: 2018-12-04
看這本書主要是想規範下自己的編程習慣,所以看完只是開始,以後在實踐中多運用。美好的期待。簡介:導讀中說1-6章,難度低,重細節。7-11章是專題論述,多思考。那就先看前6章。再做附錄的測試題。7-11一天看一章,不知道會不會太誇張。看書規劃調整版本1:今天看1-2章,明天3-4,後天5-6。看書規劃調整版本2:前六章複習到周一。看書規劃調整版本3:2月22號看完,25號要出差。第一章
Time of Update: 2018-12-04
windows對象並不是我們平時所說的“面對對象”程式設計中的“類的對象”,而是一種windows資源實體,如畫筆、字型等,而對這些windows對象我們用控制代碼來標識它們。而C++對象則是真正的“物件導向”思想中的“類的對象”。在windows編程中,除了普通的“類的對象”外,用得最多的“C++類的對象”應該是MFC對象了(如果你是用MFC編程的話),MFC對象是指“封裝了windows對象的C++對象”。就拿CWnd類來說,我們定義一個CWnd類的對象myWnd後,我們不能直接對它進行顯示
Time of Update: 2018-12-04
先說說cxxtest這個測試架構:用cxxtest來編寫測試案例時,我們需要寫的只是一個.h檔案,在這個檔案裡include你要測試的類或函數所在的標頭檔,然後寫各種測試函數。與該.h檔案對應的.cpp檔案是用cxxtest內建的一個指令碼cxxtestgen.pl來產生的(指令碼調用方法請看cxxtest手冊),然後我們就得到了一個.h檔案和一個.cpp檔案,用gcc/g++編譯,得到一個可執行檔,運行此檔案,就執行了你所編寫的測試案例。 使用Google
Time of Update: 2018-12-04
public 意味著在其後聲明的所有成員對所有的人都可以取。 private 意味著除了該類型的建立者和類的內部成員函數之外,任何人都不能存取這些成員。 protect 它與private基本相似,只有一點不同:繼承的結構可以訪問protected成員,但不能訪問private成員。============================================= public人緣好,跟誰都好, protect只和熟人好, private比較自閉. 不過他們是三胞胎.
Time of Update: 2018-12-04
可能有不少讀者會問,位元組對齊有必要拿出來單獨寫一篇部落格嘛?我覺得是很有必要,但是它卻是被很多人所忽視的一個重點。那麼我們使用位元組對齊的作用和原因是什麼呢?由於硬體平台之間對儲存空間的處理上是有很大不同的,一些平台對某些特定類型的資料只能從某些特定地址開始存取,如通常有些架構的CPU要求在編程時必須保證位元組對齊,否則訪問一個沒有進行位元組對齊的變數的時候會發生錯誤。而有些平台可能沒有這種情況,但是通常的情況是如果我們編程的時候不按照適合其平台要求對資料存放進行對齊,會在存取效率上帶來損失。
Time of Update: 2018-12-04
或許還有不少人對於const修飾符理解的並不深刻,都只是停留在一個比較淺的層面上,僅僅是在讀別人代碼的時候看到了const修飾符的使用,自己的寫代碼的過中從未使用過,所以自然對於const修飾符比較陌生。那麼到底什麼是const修飾符,我們在自己編寫C語言代碼的過程中又該如何有效使用const修飾符呢,現在讓我們來學習下const修飾符的使用。const在C語言中算是一個比較新的描述符,我們稱之為常量修飾符,即就是說其所修飾的對象為常量。當你代碼中想要設法阻止一個變數被改變,那麼這個時候可以選擇
Time of Update: 2018-12-04
懂得C語言的人都知道,C語言之所以強大,以及其自由性,絕大部分體現在其靈活的指標運用上。因此,說指標是c語言的靈魂,一點都不為過。所以從我的標題加了個(一)也可以看出指標的重要性,我儘可能的向大家交代清楚我對於指標的理解。所以在講解的過程中我儘可能的用代碼加文字的描述方式,通過代碼的分析來加深我們對於指標的理解,我給出的都是完整的代碼,所以讀者可以在看的過程中直接copy下去即可運行,希望下面的講解能夠對你有所協助。首先讓我們來看看定義一個指標的一般形式為:基底類型
Time of Update: 2018-12-04
每次寫摘要我都覺得是一件很頭疼的事兒,因為我知道摘要真的很重要,它幾乎直接就決定了讀者的數量。可能花了九六二虎之力寫出來的東西,因為摘要的失敗而前功盡棄,因為絕大多數的讀者看文章之前都會瀏覽下摘要,如果他們發現摘要“不對口”,沒有什麼特色和迷人的地方,那麼輕則採用一目十行的方法看完全文,重則對文章判“死刑”,一篇文章的好壞雖然不能用摘要來衡量,但是它卻常常被讀者用來衡量一篇文章的好壞,從而成為了文章讀者數量多少的一個關鍵因素。下面言歸正傳來說說斷言,如果出於一般性的學習C語言,應付考試的話,我想
Time of Update: 2018-12-04
在c#中類型的轉換分兩種:顯式和隱式,基本的規則如下:1、基類對象轉化為子類對象,必須顯式轉換,規則:(類型名)
Time of Update: 2018-12-04
C#語言有很多值得學習的地方,這裡我們主要介紹C# abstract修飾符,包括介紹通常用於強制繼承類必須實現某一成員。等方面。C# abstract修飾符是什麼意思?C# abstract修飾符可以用於類、方法、屬性、事件和索引指標(indexer),表示其為抽象成員 abstract 不可以和 static 、virtual 一起使用聲明為 abstract
Time of Update: 2018-12-04
C#列印原理其實就是產生MDI檔案,那麼什麼是MDI檔案呢?MDI是虛擬列印的文檔,系統碰到MDI的時候會自動以列印的方式處理。所以,不管用什麼模板,什麼方式;能在PrintPage事件處理中,產生一張要列印內容的圖片就OK了!C#列印原理應用執行個體:#region 列印 private void btnPrint_Click(object sender, EventArgs e) { //C#列印原理之預覽列印