C++
basic technology and skills STL
摘要: 根據前一篇文章描述實現的A*算法
閱讀全文
摘要: vector為我們提供了可伸縮的順序存儲容器,在順序和隨機存儲方面效率很高
閱讀全文
摘要: 0-1背包問題是對空間問題,排布選擇問題的抽象
閱讀全文
摘要: 在一個8×8國際象棋盤上,有8個皇后,每個皇后占一格;要求皇后間不會出現相互“攻擊”的現象,即不能有兩個皇后處在同一行、同一列或同一對角線上。問共有多少種不同的方法。
閱讀全文
摘要: 事情起因是這幾天用電驢上下載一個資源,順便推薦一下-國家地理頻道的《終極工廠》,本人很喜歡看,偶然間翻到了http://www.verycd.com/topics/2746798/
總大小17多G,只好掛機下載,但是我XPS1530竟然沒有關閉屏幕的熱鍵-郁悶,盒上蓋散熱又是問題,那就自己動手吧
閱讀全文
摘要: 聯編是指一個計算機程序自身彼此關聯的過程。按照聯編所進行的階段不同,可分為兩種不同的聯編方法:靜態聯編和動態聯編。
靜態聯編
靜態聯編是指聯編工作出現在編譯連接階段,這種聯編又稱早期聯編,因為這種聯編過程是在程序開始運行之前完成的。
在編譯時所進行的這種聯編又稱靜態束定。在編譯時就解決了程序中的操作調用與執行該操作代碼間的關系,確定這種關系又稱為束定,在編譯時束定又稱靜態束定。下面舉一個靜態聯編的例子。
閱讀全文
摘要: C++繼承了ANSI C的預定義常量,預處理器在處理代碼時將它們替換為確定的字面常量。這些符號不能用#define重新定義,也不能用#undef取消該宏。
__LINE__ 引用語句的代碼行號
__FILE__ 引用語句所在的文件名
__DATE__ 引用語句所在源文件被編譯的時期
__TIME__ 引用語句所在源文件被編譯的時間
閱讀全文
摘要: C++中的虛函數的作用主要是實現了多態的機制。關于多態,簡而言之就是用父類型別的指針指向其子類的實例,然后通過父類的指針調用實際子類的成員函數。這種技術可以讓父類的指針有“多種形態”,這是一種泛型技術。所謂泛型技術,說白了就是試圖使用不變的代碼來實現可變的算法。比如:模板技術,RTTI技術,虛函數技術,要么是試圖做到在編譯時決議,要么試圖做到運行時決議。
閱讀全文
摘要: Thread local storage (TLS)統一進程的多個線程可以通過由TlsAlloc方法返回的索引值在線程自身的空間內存儲和取回一個值。在以下這個例子里,索引值在進程開始時創建,當各個線程啟動時,會各自申請一塊動態內存并且將內存指針通過TlsSetValue方法存儲到各自的TLS空間中(由先前的索引值標定)。CommonFunc方法使用TlsGetValue方法通過索引取得數據指針。在各個線程結束前,釋放動態內存塊。在進程結束見,調用TlsFree方法釋放索引。
閱讀全文
摘要: 前段時間有人發表了關于拷貝構造函數的問題,我覺得對于拷貝構造函數要掌握四點(以下以CCF代稱拷貝構造函數)
第一:默認CCF提供對象之間的位拷貝(Bitwise Copy),對于指針類成員只會將至指針值復制
第二:CCF在對象初始化時才發揮作用,而在對象賦值的時候不起作用
第三:在沒有顯示聲明成員CCF的情況下,編譯器會自動生成默認CCF,如果顯示聲明了顯示CCF,則編譯器不會生成默認CCF,至少是不會調用
第四:與構造函數不同,CCF并不會遞歸的調用基類的CCF,子類與基類的CCF是覆蓋關系,與就是說子類會尋找與自己關系最近的CCF調用,如果子類有CCF則僅調用子類CCF,如果子類沒有向上尋找,調用第一個找到的CCF
第五:CCF的聲明及定義如下:
1classname(classname const&obj)
2{
3 m1=obj.m1;
4 m2=obj.m2;
5 .
6 Lp1=new type[size];
7 memcpy
閱讀全文