現在C++11/14有很多公司在用嗎?

剛看到C++17標準制定完成,接下來在籌劃C++20的會議,我很好奇,現在C++11/14有很多公司在用嗎?而且C++更新這麼頻繁~


Office一直在使用VC++支持的最新標準,還經常叫他們快點趕上標準的進度。


我們組用所有msvc能提供的,不管是哪個版本的標準。另外,不理解題主說的「而且C++更新這麼頻繁~」是什麼意思。要是C++更新還敢叫頻繁的話,Swift/Go這些不是要笑死了?


我們對外發布SDK,介面要求純C,DLL內部就無所謂了。用的VS2015,C++11,畢竟好寫。

最早是用VS2013的C++11,但是遇到編譯器問題了,就升到15了。反正,C語言ABI穩定,我們升級,不影響別人。


我看到很多答案說開發人員良莠不齊不讓用c++11,也是醉了,這樣更加該用11,11的進步就是讓人更加快速簡單的寫代碼啊


我們廠已經在今年夏天完成了老代碼統一更新,現在統一用4.8.2,C++11也普及了。只是不知道這次要被三體星人鎖定多久。


我做的最近的一個項目用的是C++11,開始時間是2013年,並且在可預期的幾年裡應該也不會有升級至17的可能性。

之所以使用新特性是因為這個項目是全新的,從底層開始幾乎全部是從頭開始的,所以一次性的使用11可以帶來大量的便捷,例如大量的底層API預留有std::function的回調介面極大的降低了模塊的開發成本和過耦合的問題。

不過相應的,也花了許多時間用於重新學習和適應11標準


對於很多公司而言,使用C++新特性是一件值得商榷的事情。人手不夠、能力良莠不齊、龐大的歷史遺留代碼、快速的版本迭代無法保證使用新特性下的質量等問題會阻擾我們使用C++新特性,雖然程序員很想用。


大多數人只是熟悉語法,但很多細節說不清楚,只知道這麼寫這麼用可以。更別說讓他去追求什麼新的標準了。

而且,還要注意,因為cpp從業人員良莠不齊,對一些較為底層的處理細節不甚了解,你用新的標準,就要換更新的編譯器,如果鏈接出了問題,半天解決不了,人家還是要換回去。不少公司的cpp項目其實多數人是不敢隨便亂換編譯器,第三方庫之類的,出了問題純屬自找麻煩了,還不一定能搞定。

用新標準,最好是剛啟動的項目,並且組裡人水平都比較高,不然,同理,你老老實實用舊標準就好了。


我們公司已經用到了c++14,不僅大量應用,還大量修改c++14新庫的源碼,重寫了std::share_ptr相關的全部代碼,包括c++14提供的make_shared,提升了一倍性能,減少了內存佔用,融合了其它內存模塊,最重要的是實現了shared_ptr的完全線程安全。c++14那個實現只是部分線程安全的,容易掉坑裡。重構了c++14提供的std::lock_guard,增加讀鎖升級寫鎖,寫鎖降級為讀鎖等功能,類似facebook folly 提供的鎖功能,但介面上與std庫兼容,並且性能更高。


看好多回答說cpp的開發者良莠不齊的

我想說,我們系教的cpp還沒跟上c++98…

我能怎麼辦 我也很絕望啊

利益相關:三流211計算機在讀


沒人貼這句?我貼下。。。。。。。。「珍愛生命,遠離C++」


許多年前,C++11的部分語法就已經普及到不少北美學校的大一編程基礎課了。。。。


寫了大半年的c++11,跳槽,然後回到了gcc4.4,還不準用stl,感覺時代在倒退了!modern effective c++看的大部分 都忘記了。


windows環境用vs2005,Linux環境用GCC4.4,什麼水平?


cpp11寫的後台已跑了3年了


我們公司的核心項目已經大量應用C++11的各種常用特性,但目前還沒有普及C++ 14和17的計劃,主要是對C++14/17的需求沒有強烈到必須升級編譯器的程度。也許等C++20出來以後,新開的項目會直接使用符合C++20標準的編譯器.


更新頻繁??????


做的是嵌入式開發,晶元廠商一般都有提供編譯器,日常用的也都是廠商提供的編譯器,好處是穩定,壞處是穩定了廠商又不會沒事升編譯器,於是編譯器就鎖死在gcc 4.5。支持C++0x和部分C++11的特性(比如auto mutex之類的),我自己做中間件為了方便,都是開了C++0x這樣代碼好寫,但為了保證應用可以不用開C++0x也能編譯,我們是要求不允許在對外介面使用任何的C++0x/C++11的特性。

考慮到現在安卓默認編譯器已經是gcc 4.9了,所以如果不是要把代碼移回以前嵌入式的話,也是可以介面使用C++11的。

當然我們的代碼已經在gcc 6.1和clang上都可以在比較嚴格的編譯警告選項下0 warning的。


據我所知大公司C++11基本都已經普及了。03都是legacy了。我們組去年才開始全面用C++11,公司里已經算很晚的了。

不過確實有一些二三十年的老工程師,不願意轉變,而你的Manager又不夠強硬的話,那你只能忍了…


待過的公司至少都用C++11(從13年畢業後從來都用auto)

現在做的項目誕生於C++發明之前,都已經用上C++14了,而且我們都對新標準很關注

老項目能不能用上新標準主要還是看有沒有大神能推動這件事,畢竟不是什麼人都有資格讓所有人重搞一遍開發環境的

非常推薦使用新標準,新標準的表現力好得多,那些古代的代碼看起來簡直頭大


公司項目因為從0開始,用了大半年的c++14,怎一個爽字了得。


我的也dalao說,目前C++人員良莠不齊,考慮到換人成本,一般還是用舊標準。


推薦閱讀:

一段很有意思的代碼,你能說出為什麼結果是這樣嗎?
既然c++的非virtual的函數可以重定義,virtual函數相比非virtual的有什麼優勢?
用MFC做的貪吃蛇遊戲,求大神。?
C++ primer 第四版這段關於vector的程序是否有未定義的行為?
c/c++中簡單加法出現奇怪的錯誤?

TAG:編程語言 | 編程 | C | CC |