摘要: 泛型算法:
所有算法的前兩個(gè)參數(shù)都是一對(duì)iterators:[first,last),用來(lái)指出容器內(nèi)一個(gè)范圍內(nèi)的元素。
每個(gè)算法的聲明中,都表現(xiàn)出它所需要的最低層次的iterator類(lèi)型。
70個(gè)算法: 閱讀全文
摘要: Thread local storage (TLS)統(tǒng)一進(jìn)程的多個(gè)線程可以通過(guò)由TlsAlloc方法返回的索引值在線程自身的空間內(nèi)存儲(chǔ)和取回一個(gè)值。在以下這個(gè)例子里,索引值在進(jìn)程開(kāi)始時(shí)創(chuàng)建,當(dāng)各個(gè)線程啟動(dòng)時(shí),會(huì)各自申請(qǐng)一塊動(dòng)態(tài)內(nèi)存并且將內(nèi)存指針通過(guò)TlsSetValue方法存儲(chǔ)到各自的TLS空間中(由先前的索引值標(biāo)定)。CommonFunc方法使用TlsGetValue方法通過(guò)索引取得數(shù)據(jù)指針。在各個(gè)線程結(jié)束前,釋放動(dòng)態(tài)內(nèi)存塊。在進(jìn)程結(jié)束見(jiàn),調(diào)用TlsFree方法釋放索引。 閱讀全文
摘要: 對(duì)于經(jīng)常在Windows編程的使用者,想體驗(yàn)*nix編程可以選擇vw,vpc,雙系統(tǒng),而對(duì)于真正的開(kāi)發(fā)者而言一個(gè)*nix shell加上GCC GDB MAKE以及相關(guān)的函數(shù)庫(kù)文件足以,哦,也許加上DEVDOC才算完整,也就是可以使用man,所有這些cygwin完全可以搞定。
閱讀全文
摘要: 前段時(shí)間有人發(fā)表了關(guān)于拷貝構(gòu)造函數(shù)的問(wèn)題,我覺(jué)得對(duì)于拷貝構(gòu)造函數(shù)要掌握四點(diǎn)(以下以CCF代稱(chēng)拷貝構(gòu)造函數(shù))
第一:默認(rèn)CCF提供對(duì)象之間的位拷貝(Bitwise Copy),對(duì)于指針類(lèi)成員只會(huì)將至指針值復(fù)制
第二:CCF在對(duì)象初始化時(shí)才發(fā)揮作用,而在對(duì)象賦值的時(shí)候不起作用
第三:在沒(méi)有顯示聲明成員CCF的情況下,編譯器會(huì)自動(dòng)生成默認(rèn)CCF,如果顯示聲明了顯示CCF,則編譯器不會(huì)生成默認(rèn)CCF,至少是不會(huì)調(diào)用
第四:與構(gòu)造函數(shù)不同,CCF并不會(huì)遞歸的調(diào)用基類(lèi)的CCF,子類(lèi)與基類(lèi)的CCF是覆蓋關(guān)系,與就是說(shuō)子類(lèi)會(huì)尋找與自己關(guān)系最近的CCF調(diào)用,如果子類(lèi)有CCF則僅調(diào)用子類(lèi)CCF,如果子類(lèi)沒(méi)有向上尋找,調(diào)用第一個(gè)找到的CCF
第五:CCF的聲明及定義如下:
1classname(classname const&obj)
2{
3 m1=obj.m1;
4 m2=obj.m2;
5 .
6 Lp1=new type[size];
7 memcpy 閱讀全文