C++17結構化綁定
動機 std::map<K, V>的insert方法返回std::pair<iterator, bool>,兩個元素分別是指向所插入鍵值對的迭代器與指示是否新插入元素的布爾值 ...
動機 std::map<K, V>的insert方法返回std::pair<iterator, bool>,兩個元素分別是指向所插入鍵值對的迭代器與指示是否新插入元素的布爾值 ...
引子 凡是涉及STL的錯誤都不堪入目,因為首先STL中有復雜的層次關系,在錯誤信息中都會暴露出來,其次這么多類和函數的名字大多都是雙下划線開頭的,一般人看得不習慣。 一個經典的錯誤是給std::s ...
協程(coroutine),是一種輕量級的用戶態線程,操作系統對協程無感知。實現的是協作式調度(非搶占式調度),即協程切換由當前協程控制,主動讓出CPU(例如當前協程在等待異步網絡IO時)。通常情況下 ...
摘要:事件驅動(event driven)是一種常見的代碼模型,其通常會有一個主循環(mainloop)不斷的從隊列中接收事件,然后分發給相應的函數/模塊處理。常見使用事件驅動模型的軟件包括圖形用 ...
許久未在這兒寫文章了,從公眾號搬幾篇原創過來,感興趣的可以去關注一波。 0. 前言(Introduction) 這篇文章構思了許久。 初時不知從何寫起,協程的背后是整個並發,所涉知識極多,對於標 ...
翻譯自https://www.bfilipek.com/2019/02/lambdas-story-part1.html、https://www.bfilipek.com/2019/02/lambda ...
C++20草案中的宇宙飛船運算符(<=>,spaceship operator) Herb Sutter提議的新三路運算符<=>已經被合入C++20草案中。 宇宙飛船運算符 ...