c 待驗證問題收錄

2021-09-29 11:02:55 字數 1090 閱讀 2161

1、右值引用

右值引用的出現解決了 c++ 長期以來被人詬病的臨時物件效率問題

消除了諸如 std::vector、std::string 之類的額外開銷, 使得函式物件容器 std::function 成為可能

左值 - 表示式結束後依然存在的持久物件

右值 - 表示式結束後就不再存在的臨時物件

2、std::thread,在不同平台上不再依賴於系統底層的 api,實現了語言層面的跨平台支援

3、結構化繫結提供了類似其他語言中提供的多返回值的功能

#include #include std::tuplef() 

int main()

4、尾返回型別推導

//傳統c++,你很難明白返回值 r 是什麼型別(因為x,y型別不同)

templater add(t x, u y)

// c++14 開始可以讓普通函式具備返回值推導,通過 auto 關鍵字告訴你這裡有個型別推導

templateauto add3(t x, u y)

5、模板的哲學在於將一切能夠在編譯期處理的問題丟到編譯期進行處理,僅在執行時處理那些最核心的動態服務,進而大幅優化執行期的效能

6、無序容器

有序容器 - std::map/std::set,內部通過紅黑樹實現, 插入和搜尋的平均複雜度均為 o(log(size))

無序容器 -

std::unordered_map/std::unordered_multimap,std::unordered_set/std::unordered_multiset

不進行排序的,內部通過 hash 表實現,插入和搜尋元素的平均複雜度為 o(constant)

7、協程

協程的出現主要是為了解決非同步程式設計的麻煩

乙個程序可以開啟幾十億個協程,這是很值得研究的特性

c++20內部應該會實現協程

c++23應該會對外暴露簡單實用的介面

作業 待驗證是否正確

問題1 針對口頭訊息,描述n 7,m 2的bgp協議過程 1.1假設7名成員分別是a b c d e f g,假設a是指揮官,分別給b g傳送1訊息,1是攻擊,0是撤退,假設b g是叛徒,發出訊息為111111,分別對應b c d e f g。因此om 2 階段,指揮官a將攻擊命令 給其他成員,成員...

pve 啟用sr iov 待驗證

pve安裝intel網絡卡 支援sr iov 參考 pve開啟sr iov記錄 proxmox ve pve 開啟iommo並開啟網絡卡 82576 sriov功能 首先pve需要安裝intel igb網絡卡驅動,然後將物理網絡卡 母網絡卡 虛擬為vf virtual function 最後直通給虛...

題目 奇怪的減法(待驗證)

題目 問題 d 思維 奇怪的減法 時間限制 1 sec 記憶體限制 128 mb 提交 327 解決 42 提交 狀態 討論版 題目描述 1.如果a 0或b 0,則結束該過程。否則,轉到步驟2 2.如果a 2 b,則將a的值設定為 a 2 b,並重複步驟1.否則,轉到步驟3 3.如果b 2 a,則將...