基礎:找一門入門公開課,比如MIT OCW上的Introduction to C++
,或者我們學校的CS11 C++ Track
,把slides瀏覽一遍,把最後幾個作業練習寫一寫,快速大致瞭解一下C++的基本文法。
進階:在oj.leetcode和更進階的online judge上把比較難的題(通過率<20%)用C++寫一遍,來練習使用STL中的一些基本類比如unordered_map, vector, map之類的。此後可以找一些更進階的課程來看,比如MIT的Effective Programming in C and C++
或者我們學校的CS11 Advanced C++ Track
。學習和練習template和class inheritance之類的概念。
進階:看書。Effective C++和C++ Primer在這個層級都得要看了,還要學習C++11裡面的新東西。另外,暑假實習的時候組裡有個GETCO跳槽來的C++大神坐在我旁邊,向我推薦了一門很好的課叫Performance Engineering of Software Systems
。他說這個課基本上就是為搞Quant Trading System準備的,非常實用。