在C 專案中,什麼時候該用Boost,什麼時候該用STL呢?

時間 2021-05-08 14:37:30

1樓:yuchting

不邀自答。

其他回答說先用stl,在用boost,我的回答,禁止用boost。

因為當年stl不完善的時候,一幫人做了boost,後來都變成stl了,我幾年前那會兒基本上所有的輪子庫stl都有,有一兩處還用boost,最後全部替換,和boost說拜拜了。完畢。

2樓:陳碩

2010 年,我開始寫 muduo,用了 boost,用到的主要是 TR1 裡有的東西(function/bind/shared_ptr),也有 TR1 裡沒有的(scoped_ptr/any)。

2014 年,我建立了 cpp11 分支,把絕大部分 boost 依賴換成了 std,只剩 boost::any 一時沒有替換。C++11 版的 muduo 還是需要依賴 boost。

2017 年,我建立了 cpp17 分支,把剩下的 boost 依賴換成了 std,這樣 C++17 版的 muduo 不再需要依賴 boost。(但是 circular_buffer 換成 deque 會有一點點效能損失。)

muduo 各分支主要依賴一覽

2010 年我用的這些東西都慢慢進入了標準庫,說明我當時的眼光還是不錯的。

在移植 C++17 的時候,還順便發現了 clang 在處理非型別模板引數時的乙個 bug,[cfe-dev] extern array as non-type template argument with clang c++1z ? 開發人員很快回應並修復了這個 bug。SO:

extern array as non-type template argument with clang c++1z

什麼時候我們該用反證法,什麼時候不該用?

嘉燁 算是邏輯問題吧,善於思考問題的話怎麼都好用,在高等數學上做證明題的時候反證法還是很有用的。生活中,反證法用的最多的也許是逆向思維吧類,就像解決一些技術上的問題的時候,可以選擇到底用不用這種這種演算法,再比如你遇到和別人看法不一致或者觀點不同時就可用反證法。 龍陽桑 基本上都能用。只要能夠通過結...

什麼時候用C而不用C ?

linux 核心不讓用c 得用c.nginx擴充套件大部分是c寫的.很多底層基礎架構也都是c.C 的面對物件不好用,不建議使用. 為什麼你一定要意淫 所有人的程式設計工作都離不開OOP 呢?沒有OOP就活不了了?全成殘廢了?所有問題不抽象成OOP就幹不下去了?我寫個矩陣運算元的函式,input是一塊...

c 中什麼時候用 ?

建議盡快轉入管理序列,成為CEO,走上人生巔峰int iXiaomingHeight 176 int iXiaohuaHeight 157 int iXiaomingWeight 60 int iXiaohuaWeight 40 int iXiaJibaSuan 0 bool bXiajibaRtn...