我正在使用C++主要用於它的核心組件的產品。雖然它使用visual C++作爲Windows平臺的主要編譯器,並且它是編輯器和調試器作爲主要開發環境,但不使用任何Microsoft特定技術。對於其他平臺,它使用gcc進行編譯。遷移到C++ 11
我的代碼庫大量使用模擬右值引用(使用boost移動庫),可變參數模板(使用boost處理器)以及某些情況下的表達式模板。
我很想改用C++ 11來使用右值引用,完美轉發,默認和刪除構造函數,可變參數模板以及自動和decltype來獲得更乾淨的代碼庫。如果我這樣做,我可能會對現有代碼進行一些修改以簡化它(使用模板別名並可能是constexpr)。在這種情況下,我必須使用mingw切換到gcc for windows平臺,因爲visual studio沒有默認和刪除的實現,並且可變參數模板。此外,我必須切換到gdb作爲調試器和一個不同的代碼編輯器。 (對於Android等平臺),調試(從Visual Studio遷移到gdb,因爲我們爲Visual Studio調試器開發了許多可視化工具)對於我來說,在代碼簡單性和性能方面, )和代碼編輯器(不是那麼多的大量模板代碼,我沒有發現自動完成,重構等很多用途,並且codelite,codeblocks,qt creator與我們的構建系統運行良好)是一些問題。
我想知道是否有中/大型項目(商業或開源)正在使用/打算使用上述任何C++ 11功能?做這種遷移需要多少努力?
任何實踐經驗,智慧提示或文字都會幫助我做出決定。
建議和列表問題通常不是Stack Overflow處理的內容。 – 2012-04-06 07:54:23
我建議您再等一會兒。等到適當的VC++支持。 mingw32中的頭文件有問題。 – 2012-04-06 07:54:50
看看他們在存儲庫中有[C++ 11 Migrator] [1]的clang項目 [1]:http://blog.llvm.org/2013/04/status-of-c11- migrator.html – Alex 2013-06-03 06:50:09