C + + Learning route (Overall grasp C + +)

Source: Internet
Author: User

Order

Forget where you saw an article, the article name is "Dark Horse programmer: 3 minutes to take you to read the C + + learning route"; Today I looked at the documentation and saw it, stating: The following is not original


with the Internet and the Internet + deep and vigorous development, after more than 40 years of baptism, C + + has become a noble language, excellent performance makes it a high-level language performance King. And what important role does it play today? Please look down:

back-end servers, mobile Internet backend, classic Windows interface Development, mobile Internet interface development, cross-platform interface development, graphic analysis, system architecture, application design, and now the most popular distribution architecture and other new technology areas.

in such a cow language, do you want to know how to learn and master it? Next, take a look at a mind map that has been compiled by a small compilation of the required knowledge of a C + + engineer.

650) this.width=650; "Src=" Http://s2.51cto.com/wyfs02/M00/8C/F7/wKiom1iAFY-wsdyuAAHA4WY9PvU621.png-wh_500x0-wm_3 -wmp_4-s_2474607131.png "title=" image 1.png "alt=" Wkiom1iafy-wsdyuaaha4wy9pvu621.png-wh_50 "/>

First, the initial stage of entry

at the beginning of the introduction, the first thing to do is to pass C + + language learning to develop programming thinking and hands-on ability, a deep understanding of process-oriented and object-oriented thinking. At this stage you need to learn:

①c language

Data type, variable, memory layout, pointer base;

String, one-dimensional array, two-dimensional array;

level pointer, level two pointer, level three pointer, n-level pointer concepts, pointer arrays, and array pointers;

The use of structures and documents;

The encapsulation and design of dynamic library;

function pointer callback function.  

②c++ language

Object oriented programming idea;

Class encapsulation, construction and destruction, static members, object management;

Construction of Class (parametric constructors, parameterless constructs, copy constructs, default constructors) and destructors;

Object dynamic management, friend function, friend class, operator overloading;

C + + Compiler object management model analysis;

dynamic management of class objects (New/delete);

Friend function and friend class;

operator Overloading (unary operators, two-tuple operators, operator overloading difficulties, operator overloading in project development);

Class inheritance, multi-inheritance and its ambiguity, virtual inheritance;

polymorphic (concept, meaning, principle analysis, polymorphic case);

virtual functions, pure virtual functions, abstract classes (For abstract class programming thought cases);

function template, class template, template inheritance;

C + + type conversion;

C + + input and output stream (standard I/O file I/O character stream I/O);

C + + exception handling (exception mechanism, exception type, exception variable, exception hierarchy, standard exception library);

Second, Advanced C/D + + development

The goal of this phase is to achieve The basic requirements for the development of the industry, this stage is the development of C/C + + to the advanced road, but also to find a decent salary for the work of the chips.

If this part encounters the knowledge point and the noun which does not understand or has not seen, may first the article collection, for later study carefully.





C + + Advanced STL

STL = Standard Template Library, i.e. Standard Template Library . This is the best tool for improving development efficiency. By learning this phase, you should master the generic programming techniques, understand the application patterns of container classes in the C + + language, and master the use of all STL classes.

design mode of ②c++ advanced

The most important factor to determine a project's success or failure is the overall design of the project, through this stage of learning, can grasp the important aspect of object-oriented programming, is the technique of pre-coding modeling. Single-case mode, Factory mode, proxy mode, iterative mode and so on, these are all you have to master.

③c++ Advanced Data Structure Foundation

This is one of the most learned parts of all programming languages, the basis of which is the composition of the program.

Sequential storage, chain storage, circular chain list;

doubly linked list, stack (Sequential and chained), queues (sequential and chained);

Application of stack, basic concept of tree and traversal, binary tree;

Sorting algorithms, and algorithms, selection, insertion, fast, hill.

Advanced C + + UI interface Development

Master QT class Library architecture, graphical interface development model;

Master QT development skills, message mechanism, graphics processing;

Master QT Network programming, udp,tcp use way;

Master QT file processing mode, serialization;

Master QT transplant technology under different windows,linux,ios,android platforms.

⑤c++ Advanced Unix/linux network server

Master Unix/linux platform Development mode;

familiar with system call;

Skilled Unix/linux memory management, process, thread scheduling;

familiar with Web server development method, proficient in writing TCP,UCP Network Service Program;

Master how synchronous /asynchronous IO models are used in network programming.

Development of ⑥c++ Advanced database

Master Practical tips for SQL language. How the Oracle,mysql database is used.

If you can master the skills listed above, have the ability to solve complex problems and technical difficulties, and you can independently develop some of the more complex functional modules, it is an honor to tell you that you have reached the intermediate level, pay million is a piece of cake for you.





This article is from the "11907685" blog, please be sure to keep this source http://11917685.blog.51cto.com/11907685/1893086

C + + Learning route (Overall grasp C + +)

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.