Sistema desde cero el aprendizaje de C / C ++, C ++ sistema de rutas de aprendizaje

C ++ se utiliza a menudo en los servidores de back-end, back-end de Internet móvil, el desarrollo clásica interfaz de Windows, Internet móvil de desarrollo de interfaz de terminal, de desarrollo de interfaces multi-plataforma, análisis gráfico, la arquitectura del sistema, diseño de aplicaciones y arquitectura distribuida ahora el más popular y otras nuevas tecnologías campo, ingeniero de C / C ++ debe tener conocimiento del mapa mental.

Sistema desde cero el aprendizaje de C / C ++, el aprendizaje de C ++ ruta sistemas de
una etapa de entrada primaria

Al principio de la entrada, lo primero que debe hacer es desarrollar la programación y la capacidad de pensar por C / C ++ aprendizaje de idiomas, comprensión profunda de manera orientada a objetos y orientada a los procesos de pensamiento. En esta etapa se necesita aprender:

① lenguaje C

Tipo de datos, variables, la capa de memoria, puntero de base;

String, unidimensional matriz, matriz de dos dimensiones;

Un puntero, dos punteros, tres punteros, el concepto de N niveles de puntero punteros, punteros y matrices array;

La estructura, el uso de un archivo;

Packaging y diseño de las bibliotecas dinámicas;

Función puntero a la función de devolución de llamada.

Sistema desde cero el aprendizaje de C / C ++, C ++ sistemas de aprendizaje de ruta
lenguaje C ++ ②

ideas de programación orientados a objetos;

Embalaje, construcción y destrucción, los miembros estáticos, los objetos de gestión de clase;

Configuración de clases (con el constructor de referencia, constructor sin argumentos, constructor de copia, un constructor por defecto) y destructor;

objetos de administración dinámica, funciones amigo, un amigo de clase, la sobrecarga de operadores;

análisis compilador objeto modelo de gestión C ++;

clase de objeto de administración dinámica (nueva / delete);

funciones amigas y amigos de clase;

La sobrecarga de operadores (binarios, operadores unarios, operador de dificultad sobrecarga, el desarrollo del proyecto de la sobrecarga de operadores);

herencia de clases, herencia múltiple y la ambigüedad, la herencia virtual;

(Concept, lo que significa, análisis principio, caso multi-estado) polimorfismo;

función virtual, función virtual pura, una clase abstracta (clase abstracta casos ideas de programación orientada);

plantillas de función, plantilla de clase de herencia, plantillas;

C ++ conversión de tipo;

C ++ entrada y salida de flujo (archivo de E / S estándar de E / S flujo de caracteres I / O);

C ++ manipulación (mecanismo de excepción, el tipo de excepción, variable de excepción, jerarquía de excepciones, la excepción biblioteca estándar) excepción;

Sistema desde cero el aprendizaje de C / C ++, C ++ aprendizaje de sistema de rutas
③ herramientas comunes de desarrollo IDE favoritos

plataformas de Windows, como VC Serie: VC ++ 6.0 (relativamente antigua); Visual Studio2013, Visual Studio2015; Mac serie plataforma de XCode, así bloque de código, que se adjunta utilizan para establecer algunos Bloc de notas avanzado editor ++, EditPlus, UE y algunas otras herramientas de desarrollo y algunos utilizan atajos comunes.

Aprender factor de dificultad en esta etapa es poco probable, entonces comprender el contenido, se puede hacer algún proyecto poco simple. Por supuesto, si usted quiere encontrar un trabajo con estas habilidades, entonces ciertamente más difícil. A continuación, también se debe trabajar más en la segunda etapa en estudio.

Sistema desde cero el aprendizaje de C / C ++, C ++ sistemas de aprendizaje ruta
dos, C / C ++ de desarrollo avanzado

El objetivo de esta fase es para satisfacer las necesidades básicas de los ingenieros de software de C / C ++ para desarrollar la industria, esta etapa es que nos movemos hacia el desarrollo C / C ++ de camino avanzado, que es un deje conseguir un decente fichas de trabajo salario.

Si usted tiene el conocimiento y la terminología no entienden o no han visto en esta parte de la colección puede ser primer artículo para después de leer detenidamente.

Así que en esta etapa, lo que debemos comprenderlo, leemos en:

Avanzada ① C ++ STL

STL = Biblioteca de plantillas estándar, a saber, la Biblioteca de plantillas estándar. Esta es la mejor herramienta para mejorar la eficiencia del desarrollo. Al aprender esta etapa, usted debe tener un conocimiento de programación genéricas, la comprensión del modo de aplicación de la clase de contenedores en el lenguaje C ++, y toda clase maestra uso STL.

Sistema desde cero el aprendizaje de C / C ++, C ++ aprendizaje de sistema de rutas
② C ++ patrones de diseño de avanzada

El factor más importante para determinar el éxito de un proyecto es el diseño del proyecto en general, a través de esta fase del estudio, la programación orientada a objetos puede dominar la parte importante, se trata de una técnica en la que el modelado de pre-codificación. Singleton; modo de fábrica; modo de proxy, el modo iterativo, que tiene que dominar todos estos oh.

Sistema de aprendizaje cero en C / C ++, el sistema de aprendizaje ruta C ++
③ estructura de datos básica de la avanzada C ++

Esta es la mejor parte de todos los lenguajes de programación que hay que aprender, uno de los procedimientos básicos de.

almacenamiento secuencial, cadenas de tiendas, lista circular;

Doblemente lista, la pila (y la secuencia de la cadena), las colas (orden y la cadena) enlazado;

pila de aplicaciones, conceptos básicos y el recorrido del árbol, árbol binario;

Algoritmo de clasificación, y el regreso algoritmo, seleccionar, insertar, rápida, Colina.

Estos contenidos ¿Lo sabía?

Sistema de aprendizaje de C / C ++, C ++ ruta de aprendizaje de sistema de cero
desarrollo de interfaz de la interfaz de usuario avanzada de ④ C ++

Agarre la arquitectura de la biblioteca QT, gráfica modelo de desarrollo de la interfaz;

habilidades de desarrollo de QT a maestro, mensajería, el procesamiento de gráficos;

QT programación de la red principal, UDP, TCP uso;

QT manejo de archivos principal, la serialización;

QT maestría en Windows, Linux, iOS, Android trasplante en diferentes plataformas.

Sistema desde cero el aprendizaje de C / C ++, C ++ sistemas de aprendizaje de ruta
⑤ C ++ 's avanzada del servidor Web Unix / Linux

Domina el enfoque de desarrollo de la plataforma Unix / Linux;

el uso adecuado de las llamadas al sistema;

Especializada Unix / gestión de memoria Linux, proceso, la programación de subprocesos;

Familiarizados con el enfoque de desarrollo de la red del servidor, para preparar TCP experto, el programa de servicio web UCP;

Maestro síncrono / asíncrono modelo IP para su uso en la programación de la red.

Sistema de aprendizaje de C / C ++ cero, C ++ aprendizaje de sistema de rutas
de desarrollo de base de datos de avanzada ⑥ C ++

Dominar los conocimientos prácticos del lenguaje SQL. Oracle, utilice la base de datos MySQL.

Si usted puede dominar las habilidades mencionadas anteriormente, tienen la capacidad de resolver problemas complejos y dificultades técnicas, y se puede desarrollar de forma independiente algunas de las funciones más complejas módulo, también lo han hecho el honor de decir que se ha alcanzado el nivel intermedio, el sueldo más de diez mil pares que es simplemente un pedazo de la torta.

Sistema desde cero el aprendizaje de C / C ++, C ++ sistemas de aprendizaje de ruta
de desarrollo tres, C ++ de avanzada

Usted lee aquí, creo que usted tiene metas más altas. Ese es el ingeniero de desarrollo pila entera caliente actual, sabe tanto delante como paso entre bastidores. localizar rápidamente y resolver problemas para ellos ha sido un juego de niños, que comúnmente se conoce como el misterioso Daniel, que sólo verá su sombra cuando la empresa de investigación tecnológica.

① conocimiento y las habilidades necesarias para trabajar en esta etapa de desarrollo de software es relativamente difícil, un ingeniero senior de software de codificación y el dominio regulatorio necesario para lograr ciertos requisitos;

② tener una cierta capacidad del proyecto (incluyendo la capacidad de depuración, capacidad de escritura de documentos, pruebas de habilidad) y la calidad técnica en general (incluyendo la comprensión del ciclo de vida del software, la comprensión de los patrones de diseño, el conocimiento necesario de la industria y experiencia, etc.);.

③ entender la tecnología back-end de la corriente principal y enfoque colaborativo parte delantera y trasera, desde una perspectiva global para comprender todo el ciclo de vida del proyecto.

Supongo que te gusta

Origin blog.51cto.com/14754632/2479875
Recomendado
Clasificación