softnshare / candcpp

C & C++ 技術討論/知識管理共筆
https://softnshare.wordpress.com/slack/cc/
32 stars 5 forks source link

請問新一代的C++11有沒有什麼好的入門教學,以及常用的Common Library與Testing Library? #13

Open johnteee opened 8 years ago

johnteee commented 8 years ago

Question from @johnteee

請問新一代的C++11有沒有什麼好的入門教學? 和以前小時候學的東西差太多了XD 很多新的語法,讓程式寫起來簡潔很多 之後研所和工作之後,大量使用Java 覺得C++比較有門檻的地方是實戰時的一些library 像是STL用到容器和一些輔助RAII的語法,Boost有更多關於thread及async/sync機制 不過更多時候希望有一些像是Guava/Apache Common Library的東西,還有像Mockito等等的 之前學習C++只有寫過一些小程式(for pc和嵌入式系統),真實工作實戰時間很少

Answer from @mht

Mockito Substitutions

Mockito 我會建議使用 Google Testing Framework,裡頭包含了 googlemock 。使用方式可參考這篇。 http://blog.ez2learn.com/2009/01/21/try-google-unit-test-framework/

C++11

要我說 C++11 最實用的功能非 Lambda 莫屬。這一篇寫得不錯。 https://blog.gtwang.org/programming/lambda-expression-in-c11/?utm_content=bufferbb3ab&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer

該作者有一些 C++ 有關的文章,可看看。 https://blog.gtwang.org/tag/c-cpp/

這本免費電子書也很不錯。 免費電子書C++ Best Practices 書裡介紹許多常見(或者有些根本想都沒想過)的 C++ 程式設計最佳實例,值得花時間讀。

線上文件我大多查 cppreference.com (可下載離線版)。文件中標明了哪些是 C++11, C++14, C++17 的功能,相當不錯。 http://en.cppreference.com/w/cpp

書本的話,我推薦《C++ Primer》第五版了,C++ 之父 S 先生的《The C++ Programming Language》我沒讀過,所以不清楚好壞。

STL

要了解 STL 的話,我推薦《The C++ Standard Library》第二版包含了 C++11 的功能。 http://www.cppstdlib.com/

最後,我正在整理 C++ Library, Framework and Toolkit 專案,目前還處於ALPHA 階段,連結在此。 http://bit.ly/1tvsGnQ

最後的最後,我有訂閱一些 C++ 相關部落格,供參考。 http://feedly.com/mhtx

歡迎加入Soft & Share C/C++ 討論channel

YueLinHo commented 8 years ago

Mockito 我會建議使用 Google Testing Framework...

我最常參考的: 玩转Google开源C++单元测试框架Google Test系列 個人覺得相當完整並深入淺出

mht commented 8 years ago

有興趣試試 C++ Package Manager(是的!我們也有。)的同好,可參考 Conan ,有人已經包好 google test 了。