I only use Python but have a background in algorithm/mathematics. How can I quickly become a C ++ programmer?

Source: Internet
Author: User
I usually only use Python, and it is very convenient to do some simple mathematical computing without pursuing speed, but I must learn C ++ at work. I usually only use Python, and it is very convenient to do some simple mathematical computing without pursuing speed, but I must learn C ++ at work. Reply: I also learned Python first and then C ++. Learning Python is good for understanding OO, but it also makes your Spoiled feel that C ++ is very troublesome and many tools are not Intuitive enough. Below is my advanced route:

Basic: find an open course, for example, Introduction to C ++ on mit ocw. Or our school's CS11 C ++ Track , Browse slides, write the last few homework exercises, and quickly get a general idea of the basic syntax of C ++.

Advanced: in oj. on leetcode and more advanced online judge, write the difficult questions (pass rate <20%) in C ++ to practice some basic classes in STL, such as unordered_map, vector, map. Later, you can find some more advanced courses, such as MIT's proactive Programming in C and C ++. Or our school's CS11 Advanced C ++ Track . Learn and practice concepts such as template and class inheritance.

Advanced: reading books. Objective C ++ and C ++ Primer have to be viewed at this level. They also need to learn new things in C ++ 11. In addition, during the summer internship, a big C ++ expert from GETCO was sitting next to me and recommended a good course called Performance Engineering of Software Systems. . He said that this course is basically for Quant Trading System and is very practical.

Of course, my "Basic/advanced" here is for my scum level. You may have a smile. However, since the subject is with me, I think C ++ is also used to develop Transaction Strategies, so I think the above three steps are basically enough. Is cpp difficult? It's not good to look at it again when it is used. It doesn't make sense for empty learning to Accelerated C ++ (Douban) C ++ primer + negative tive c ++ how do I think that from python to c ++ is not related to your algorithm mathematics. Writing a program is a good algorithm, but learning how to use a language seems to have nothing to do with the algorithm. The Python method is good, and cpp is safe! If you are not proficient in C ++, it will be troublesome. If you can use C to implement various complex algorithms, you can learn C ++ again, it will be much easier. I think someone will ask you to review his post. The difference between python and c ++ is mainly in two major aspects: python is a dynamic language, c ++ is a static language (but after c11, c ++ also introduced dynamic concepts, such as lambda and auto). This is one aspect. In addition, the code format is different, python defines the scope through indentation, while c ++ defines the scope through braces. Others are connected. I tried python, but I couldn't stand his indent! I personally use C ++ for more time than python... The following content is based on my personal experience. python is not used for many projects, that is, small servers...
In fact, python is generally describing the process for solving a problem, because it is actually rough and fast to use python most of the time...
At the beginning, C ++ thought about the things that will be encountered when a problem is solved. How are these things related to the solution of this problem... Parse the entire class tree from top to bottom, write a bunch of headers, and fill in cpp to complete...
STL or something is recommended to know something and then check http://en.cppreference.com/w/ That's all...
Almost knows a vector, knows a map, and knows a set...
If you want to write more rigorous projects, you may need something like shared_ptr...
We recommend that you first implement some small things to find the feeling, such as implementing a simple vector...

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

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.