国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

(三) c++ 初始化、線程、回調(diào)函數(shù)與lambda表達(dá)式

2023-04-01 17:54 作者:FineClassFuture  | 我要投稿

初始化

????一開始學(xué)C++,都是被告知說(shuō)使用初始化列表(可以保證初始化順序)。

????但是呢,一個(gè)類內(nèi)成員變量很多時(shí),初始化列表會(huì)變得很長(zhǎng),即使折行也使得構(gòu)造函數(shù)太難看了。

????這時(shí)可以使用定義時(shí)初始化。《Effective Modern C++》條款7 對(duì)象初始化 {} vs. ()

????習(xí)慣了C就會(huì)習(xí)慣使用0或者NULL,但在C++中《Effective Modern C++》條款8 優(yōu)先選用nullptr


自己的思想:

????1. 保持純粹的初始化,不使用如下行為

????2. 應(yīng)該是優(yōu)先使用{}來(lái)初始化吧。

????3. 申請(qǐng)/釋放:在明確使用情況下使用C++智能指針,否則繼續(xù)保持C思維,自己申請(qǐng)自己釋放(生命周期掌握在自己手里,才能更好地去統(tǒng)籌資源)



線程

????在Linux下,std::thread封裝自pthread,所以是否有必要使用std::thread?

????既然是學(xué)習(xí),那就用吧

????thread_local C和C++都有,線程生命周期內(nèi)都存在,所以利用thread_local可以做一些提高效率的事情:(來(lái)自網(wǎng)絡(luò)文章介紹)

正常情況下線程生命周期內(nèi)pid/tid都不會(huì)變

線程有時(shí)候需要睡眠:(來(lái)自網(wǎng)絡(luò)文章介紹)

該質(zhì)疑是網(wǎng)絡(luò)文章介紹中的質(zhì)疑

習(xí)慣C思維的簡(jiǎn)單封裝

atomic只保證自己,可以做自旋鎖,但不能做互斥鎖來(lái)保護(hù)資源

做個(gè)簡(jiǎn)單提示???

其他

沒(méi)考慮異常安全,可能存在資源泄漏問(wèn)題


回調(diào)函數(shù)

? ? (都是沒(méi)有接觸學(xué)習(xí)過(guò)的新知識(shí))

????使用std::function類型指針????

? ? 同時(shí)《Effective Modern C++》條款9 用using替代typedef

? ? 使用回調(diào)者很簡(jiǎn)單

????被回調(diào)者怎么傳入?

????std::function和std::bind

????《Effective Modern C++》條款34 優(yōu)先lambda式,而非bind

????視頻說(shuō)的情況還沒(méi)完全理解

????目前就簡(jiǎn)單使用lambda表達(dá)式做中轉(zhuǎn)

相對(duì)于std::bind更明了

????

目前運(yùn)行良好,以后有問(wèn)題再繼續(xù)深入學(xué)習(xí)。


(三) c++ 初始化、線程、回調(diào)函數(shù)與lambda表達(dá)式的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
三原县| 日土县| 综艺| 南通市| 察隅县| 广元市| 临洮县| 尖扎县| 延安市| 开江县| 遂宁市| 济源市| 菏泽市| 呼玛县| 宁河县| 青铜峡市| 皋兰县| 喜德县| 冷水江市| 灵璧县| 读书| 甘洛县| 繁昌县| 兴安盟| 江川县| 顺昌县| 大埔区| 兖州市| 朝阳市| 志丹县| 金山区| 眉山市| 巴彦淖尔市| 泰和县| 连平县| 读书| 定州市| 黎平县| 鄂尔多斯市| 东兴市| 泽库县|