只會 Python 但有演算法/數學背景,如何快速進修學習成為 C++ 程式員?

來源:互聯網
上載者:User
我平常只用Python,不追求速度時做一些簡單數學計算很方便,但工作必須學會C++。

回複內容:

我也是先學的Python再學的C++。學了Python對理解OO有一定好處,但是也會讓你Spoiled到覺得C++很麻煩,好多工具不夠Intuitive。下面是我的進階路線:

基礎:找一門入門公開課,比如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準備的,非常實用。

當然了,我這裡的“基礎/進階”都是對於我這個渣水平而言的,各位大神見笑了。不過既然題主跟我是同行,想必學C++也是為了開發交易策略用的,那麼我覺得上面三步走完基本夠用了。cpp很難嗎?用到的時候再看不就好了,空學意義不大Accelerated C++ (豆瓣) c++primer + effective c++我怎麼覺得從python到c++和你演算法數學沒啥關係呢。寫好程式是要好演算法但是學怎麼用語言貌似和演算法沒啥關係吧Python大法好,退cpp保平安!不精通C去學C++,會有麻煩,這事快不了。如果你能用C去實現各種複雜演算法,再去學C++,就會容易得多我覺得會有人讓你去翻他的文章python和c++的區別主要是在兩個大方面:python是動態語言,而c++是靜態語言(不過c11之後c++中也引入了動態概念,比如lambda和auto等),這是一方面;另外就是代碼的格式不一樣,python是通過縮排的方式來定義範圍,而c++則是通過大括弧等。其他的都是相通的了。我曾嘗試過python,但是無法忍受他的縮排方式!個人用C++的時間遠大於python就來隨便說說。。。以下內容基於個人使用經驗,python使用時間不是很多沒有做過很大的項目也就是小伺服器什麼的。。。
python實際上一般都是在描述一個問題的解決流程,因為實際上用python的大部分時間都是在糙快猛啊。。。
而C++一開始就是要思考一個問題在解決時會遇到的事物,而這些事物是怎麼關係到這個問題的解決的。。。自頂向下的去解析整個class的樹,然後寫一堆header,然後填點cpp,完成。。。
STL什麼的推薦就是知道一些然後查http://en.cppreference.com/w/ 就好了。。。
差不多知道個vector知道個map知道個set就差不多了。。。
如果要寫比較嚴謹的項目的話,可能會需要像shared_ptr之類的。。。
推薦先實現一些小東西找一找感覺,比如自己實現一個簡單地vector啊之類的。。。
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.