摘要: 泛型算法:
所有算法的前兩個參數都是一對iterators:[first,last),用來指出容器內一個范圍內的元素。
每個算法的聲明中,都表現出它所需要的最低層次的iterator類型。
70個算法: 閱讀全文
摘要: Thread local storage (TLS)統一進程的多個線程可以通過由TlsAlloc方法返回的索引值在線程自身的空間內存儲和取回一個值。在以下這個例子里,索引值在進程開始時創建,當各個線程啟動時,會各自申請一塊動態內存并且將內存指針通過TlsSetValue方法存儲到各自的TLS空間中(由先前的索引值標定)。CommonFunc方法使用TlsGetValue方法通過索引取得數據指針。在各個線程結束前,釋放動態內存塊。在進程結束見,調用TlsFree方法釋放索引。 閱讀全文
摘要: 對于經常在Windows編程的使用者,想體驗*nix編程可以選擇vw,vpc,雙系統,而對于真正的開發者而言一個*nix shell加上GCC GDB MAKE以及相關的函數庫文件足以,哦,也許加上DEVDOC才算完整,也就是可以使用man,所有這些cygwin完全可以搞定。
閱讀全文
摘要: 前段時間有人發表了關于拷貝構造函數的問題,我覺得對于拷貝構造函數要掌握四點(以下以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 閱讀全文