May <C++ Concurrency in Action 2nd Edition> will give an ansower!
Ref:
https://blog.csdn.net/jiangfuqiang/article/details/8292906
https://www.cnblogs.com/gqtcgq/p/7492772.html
理解特殊成員函數的生成 在C++的官方說法中,有一條是C++願意自己生成特殊成員函數(special member functions)。在C++98,特殊成員函數有四個:默認構造函數,析構函數,拷貝構造函數,拷貝賦值運算符。這四
比起unscoped enums更偏愛scoped nums 作爲一個通用的規則,在大括號內聲明一個名字就限制了名字的作用域在括號之內。這個規則不適用於C++98的枚舉。這種枚舉的枚舉值的作用域與枚舉enum的作用域相同: enu
用nullptr代替0和NULL 你看看這樣行不行,0字面上的意思是個int,而不是指針。如果C++代碼中把0用作指針,那麼C++會勉強地把0翻譯爲一個空指針,和一開始說的不太一樣。C++的主要政策是,0是一個int值,而不是指針
用auto代替顯示類型聲明 先開個小玩笑: int x; 該死的,我忘記初始化x 了,那麼它的值是未定義的。它可能會被編譯器初始化爲0,這取決於它的聲明位置。 我們再看看另一個小玩笑,它用一個迭代器解引用得到的結構去初始化一
當auto會推斷出不合理的類型時使用顯式類型初始化語法 條款5中我們說明了使用auto聲明類型會比顯式聲明類型更好,但是有時候auto類型推斷會和我們想象中有點差別。例如,我有一個函數以Widget 爲參數,返回std::vect
做個矯正 直到我滿意。。。 《深入理解c++ 11》6.3.3節, by. Michael Wong 鞭辟入裏,耐心學習.... :: 如果只是簡單地想在線程間進行數據的同步的話,原子類型已經爲程序員已經提供了一些同步的保障。
std::對象可以是兩種狀態之一:設置或清除,且須用ATOMIC_FLAG_INIT初始化,這會將該標誌初始化爲清除狀態(此標誌總是以清除狀態初始化的),如下: std::atomic_flag flag=ATOMIC_FLAG_
小寫字母轉成大寫: std::string Name = "ftff"; std::string ver = version; std::transform(Name.begin(), Name.end(), Name.begin(
http://blog.csdn.net/zj510/article/details/41963841
/************************************************************************/