Maison  >  Article  >  développement back-end  >  parcours d'apprentissage c++

parcours d'apprentissage c++

王林
王林original
2019-10-29 14:03:0711189parcourir

parcours d'apprentissage c++

1. Étape d'entrée élémentaire

Types de données, variables, disposition de la mémoire, bases du pointeur

Chaîne, unidimensionnelle ; tableau, tableau bidimensionnel ;

Pointeur de niveau un, pointeur de niveau deux, pointeur de niveau trois, concept de pointeur de niveau N, tableau de pointeurs et pointeur de tableau

Utilisation de structures et de fichiers ;

Encapsulation et conception de bibliothèques dynamiques ;

Fonction de rappel de pointeur de fonction.

Idées de programmation orientée objet ;

Encapsulation de classe, construction et destruction, membres statiques, gestion d'objets

Construction de classe (constructeur paramétré, construction sans paramètre, construction par copie, valeur par défaut) constructeur) et destruction ;

Gestion dynamique des objets, fonctions amies, classes amies, surcharge des opérateurs ;

Analyse du modèle de gestion des objets du compilateur C++

Gestion dynamique des objets de classe (nouveau); /delete);

Fonctions amies et classes amies ;

Surcharge d'opérateurs (opérateur unaire, opérateur binaire, difficulté de surcharge d'opérateurs, surcharge d'opérateurs dans le développement de projets) ; héritage, héritage multiple et son ambiguïté, héritage virtuel ;

Polymorphisme (concept, signification, analyse de principe, cas polymorphes

Fonctions virtuelles, fonctions virtuelles pures, classes abstraites (cas de classe abstraite) ; idées de programmation) ;

Modèles de fonctions, modèles de classe, héritage de modèles ;

Conversion de type C++

Flux d'entrée et de sortie C++ (fichier d'E/S standard ; E/S du flux de caractères );

Gestion des exceptions C++ (mécanisme d'exception, type d'exception, variable d'exception, hiérarchie d'exceptions, bibliothèque d'exceptions standard

2. >

Telles que la série VC de la plate-forme Windows : VC++6.0 (ancienne) ;

Visual Studio2013,

série XCode pour la plate-forme Mac, ainsi que CodeBlock ; , ainsi que quelques paramètres courants pour les éditeurs avancés Notepad++, EditPlus, UE et d'autres outils de développement et l'utilisation de certaines touches de raccourci courantes.

3. Développement avancé

1. STL

STL = Bibliothèque de modèles standard. Il s’agit d’un excellent outil pour améliorer l’efficacité du développement. En étudiant cette étape, vous devez maîtriser les compétences de programmation génériques, comprendre le mode d'application des classes conteneurs en langage C++ et maîtriser l'utilisation de toutes les classes STL.

2. Modèle de conception

Le facteur le plus important qui détermine le succès ou l'échec d'un projet est la conception globale du projet. Grâce à cette étape d'étude, vous pouvez maîtriser une partie importante de. programmation orientée objet, qui est la clé du codage avant le codage La compétence de modélisation réside. Mode Singleton ; mode usine ; mode agent ;

3. Bases de la structure des données

C'est la partie la plus importante à apprendre dans tous les langages de programmation et l'une des bases de la composition d'un programme.

Stockage séquentiel, stockage chaîné, liste chaînée circulaire

Liste chaînée double, pile (séquentielle et chaînée), file d'attente (séquentielle et chaînée)

Application de la pile, concepts de base des arbres et parcours, arbres binaires;

Algorithme de tri, algorithme d'union, sélection, insertion, rapide, Hill.

4. Développement d'interface utilisateur

Maîtriser l'architecture de la bibliothèque de classes QT et le modèle de développement d'interface graphique

Maîtriser les compétences de développement QT, le mécanisme de message et le traitement graphique ;

Maîtriser la programmation réseau QT, l'utilisation d'UDP et de TCP ;

Maîtriser les méthodes de traitement et la sérialisation des fichiers QT

Maîtriser QT sous différentes plateformes Windows, Linux, iOS, Android ; technologie de transplantation.

5. Serveur réseau UBIX/LINUX

Maîtriser la méthode de développement de la plateforme Unix/Linux

Maîtriser l'utilisation des appels système ; en gestion de mémoire, processus, planification de threads Unix/Linux

Être familier avec les méthodes de développement de serveurs réseau et maîtriser l'écriture de programmes de services réseau TCP, UCP

Maîtriser l'utilisation de synchrones/; modèles d'E/S asynchrones dans la programmation réseau.

6. Développement de bases de données

Maîtriser les compétences pratiques du langage SQL. Comment utiliser les bases de données Oracle et MySQL.


4. Développement avancé

1. Les connaissances et les compétences requises pour le travail de développement de logiciels à ce stade sont relativement difficiles, et les ingénieurs logiciels seniors doivent avoir des compétences en codage et normalisation Certaines exigences ;

2. Avoir certaines capacités de projet (y compris des capacités de débogage, des capacités de rédaction de documents, des capacités de test, etc.) et des qualités techniques complètes (y compris la compréhension du cycle de vie des logiciels, la compréhension des modèles de conception, les éléments essentiels de l'industrie). connaissances et expérience, etc.);.

3. Comprendre la technologie back-end traditionnelle et les méthodes de collaboration front-end et back-end, et être capable de comprendre l'ensemble du cycle de vie du projet d'un point de vue global. perspective.

Tutoriel recommandé :

Tutoriel c++

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn