Heim > Artikel > Backend-Entwicklung > C++-Lernroute
1. Elementare Einstiegsphase
Datentypen, Variablen, Speicherlayout, Zeigergrundlagen; Array, zweidimensionales Array;
Zeiger der Ebene eins, Zeiger der Ebene drei, Zeigerkonzept der Ebene N, Zeiger-Array und Array-Zeiger;
Dynamische Bibliothekskapselung und -design
Funktionszeiger-Rückruffunktion.
Objektorientierte Programmierideen;
Klassenkapselung, Konstruktion und Zerstörung, statische Mitglieder, Objektverwaltung;
Klassenkonstruktion (parametrisierter Konstruktor, Parameterlose Konstruktion, Kopierkonstruktion, Standard). Konstruktor) und Zerstörung;
Dynamische Objektverwaltung, Friend-Funktionen, Friend-Klassen, Operatorüberladung;
Dynamische Verwaltung von Klassenobjekten (neu). /delete);
Friend-Funktionen und Friend-Klassen;
Operatorüberladung (unäre Operatoren, binäre Operatoren, Schwierigkeiten bei der Operatorüberladung, Operatorüberladung in der Projektentwicklung); Vererbung, Mehrfachvererbung und ihre Mehrdeutigkeit, virtuelle Vererbung;
Polymorphismus (Konzept, Bedeutung, Prinzipanalyse, polymorphe Fälle);
Virtuelle Funktionen, rein virtuelle Funktionen, abstrakte Klassen (Fälle abstrakter Klasse). Programmierideen);
Funktionsvorlagen, Klassenvorlagen, Vererbung von Vorlagen;
C++-Eingabe- und Ausgabestream (Standard-E/A-Datei-E/A). Zeichenstrom-E/A);
C++-Ausnahmebehandlung (Ausnahmemechanismus, Ausnahmetyp, Ausnahmevariable, Standard-Ausnahmebibliothek)
2 >Wie Windows-Plattform VC-Serie: VC++6.0 (älter); Visual Studio2013, Visual Studio2015; XCode-Serie für Mac-Plattform sowie CodeBlock und enthält außerdem einige allgemeine Einstellungen für die erweiterten Editoren Notepad++, EditPlus, UE und andere Entwicklungstools sowie die Verwendung einiger allgemeiner Tastenkombinationen.3. Entwicklungsfortschritte
1. STLSTL = Standard-Vorlagenbibliothek. Dies ist ein großartiges Tool zur Verbesserung der Entwicklungseffizienz. Durch das Studium dieser Stufe sollten Sie allgemeine Programmierkenntnisse beherrschen, den Anwendungsmodus von Containerklassen in der Sprache C++ verstehen und die Verwendung aller STL-Klassen beherrschen. 2. Entwurfsmuster Der wichtigste Faktor, der über den Erfolg oder Misserfolg eines Projekts entscheidet, ist der Gesamtentwurf des Projekts Die objektorientierte Programmierung ist der Schlüssel zur Codierung vor der Codierung. Die Fähigkeit liegt in der Modellierung. Singleton-Modus; Factory-Modus; Iterationsmodus usw.3. Grundlagen der Datenstruktur
Dies ist der wichtigste Teil, den es in allen Programmiersprachen zu lernen gilt, und eine der Grundlagen der Programmkomposition. Sequentieller Speicher, verketteter Speicher, zirkulär verknüpfte Liste; Doppelt verknüpfte Liste, Stapel (sequentiell und verkettet), Warteschlange (sequentiell und verkettet); Grundkonzepte von Bäumen und Traversierung, Binärbäume; Sortieralgorithmus, Vereinigungsalgorithmus, Auswahl, Einfügung, schnell, Hill. 4. UI-SchnittstellenentwicklungBeherrschen Sie die QT-Klassenbibliotheksarchitektur und das grafische Schnittstellenentwicklungsmodell;
Beherrschen Sie die QT-Entwicklungsfähigkeiten, den Nachrichtenmechanismus und die Grafikverarbeitung;
Master QT-Netzwerkprogrammierung, UDP- und TCP-Nutzung
Master QT-Dateiverarbeitungsmethoden und Serialisierung
Master QT unter verschiedenen Plattformen von Windows, Linux, iOS, Android Transplantationstechnologie.
5. UBIX/LINUX-Netzwerkserver
Beherrschen Sie die Entwicklungsmethode der Unix/Linux-Plattform;
Kompetent im Umgang mit Systemaufrufen; in Unix/Linux-Speicherverwaltung, Prozess, Thread-Planung;
Seien Sie mit Netzwerkserver-Entwicklungsmethoden vertraut und beherrschen Sie die Verwendung von synchronen/ asynchrone IO-Modelle in der Netzwerkprogrammierung.
6. Datenbankentwicklung
Beherrschen Sie die praktischen Fähigkeiten der SQL-Sprache. So verwenden Sie Oracle- und MySQL-Datenbanken.4. Fortgeschrittene Entwicklung
1. Die für die Softwareentwicklung erforderlichen Kenntnisse und Fähigkeiten sind in dieser Phase relativ schwierig, und erfahrene Softwareentwickler müssen über Programmierkenntnisse verfügen Standardisierung Bestimmte Anforderungen;
2. Sie verfügen über bestimmte Projektfähigkeiten (einschließlich Debugging-Fähigkeiten, Fähigkeiten zum Schreiben von Dokumenten, Testfähigkeiten usw.) und umfassende technische Qualitäten (einschließlich Verständnis des Software-Lebenszyklus, Verständnis von Designmustern, wesentliche Industrie). Wissen und Erfahrung usw.);.
3. Verstehen Sie die gängige Back-End-Technologie sowie die Front-End- und Back-End-Zusammenarbeitsmethoden und können Sie den gesamten Lebenszyklus des Projekts aus globaler Sicht verstehen Perspektive.
Empfohlenes Tutorial:
C++-TutorialDas obige ist der detaillierte Inhalt vonC++-Lernroute. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!