Red de Respuestas Legales - Asesoría legal - Soy un principiante y no entiendo C++. ¿Cómo debo aprender?

Soy un principiante y no entiendo C++. ¿Cómo debo aprender?

Describa brevemente el proceso de aprendizaje de C y C++. Sus compañeros de clase siempre le preguntan a Teacher Brother cómo aprender C y C ++ sin perderse y aprender al azar. Después de pensarlo un rato, he aquí una respuesta aproximada. Como familia le damos la bienvenida a Paizhuan. 1. Puedes considerar aprender C primero. Muchas veces, el propósito de aprender un idioma no es convertirse en un experto en el idioma, sino en convertirse en un experto en la resolución de problemas. Sea un programador útil, sea un programador rentable. Nuestro valor se reflejará en el valor de nuestros clientes, no en si el idioma es bueno o no. C++ es una interpretación de C orientada a objetos. C++ extiende los métodos de control organizacional de C para aplicaciones de ingeniería a gran escala y estructuras de sistemas complejos. Sin embargo, creo que C++ sigue siendo C en esencia. Después de todo, para resolver problemas específicos, cada función está escrita en C y está orientada a procesos. Por lo tanto, si desea aprender bien C ++, le sugiero que primero aprenda C, primero aprenda habilidades de resolución de problemas y luego analice la capacidad de resolver grandes problemas. Significa aprender a caminar primero y luego a correr. 2. En el proceso de aprender C, debes comprender el pensamiento de programación estructurada. ¿Por qué? Dije en un artículo anterior que el proceso de desarrollo de lenguajes de software es un proceso de privatización de datos. Las aplicaciones de ingeniería a gran escala enfatizan la alta cohesión, el bajo acoplamiento y el diseño modular para mantener la máxima flexibilidad y seguridad del código. Éste es el núcleo y el alma del desarrollo de la ingeniería moderna. Por lo tanto, es una forma muy conveniente de comenzar con el lenguaje C y comprender el pensamiento de desarrollo estructurado. Porque las funciones de C están destinadas a ser reutilizadas. Al mismo tiempo, podemos aprender mucho sobre el pensamiento de desarrollo estructurado a partir de las diferencias entre las variables globales y las variables privadas dentro de cpp y sus principios de uso. 3. Empieza a aprender C++ C++ no es difícil. Mucha gente piensa que C ++ es difícil de aprender, de hecho, es porque proporciona muchos conceptos, especialmente objetos, que son difíciles de entender. Pero, a lo largo de los años, le he restado importancia al tema. Creo que la orientación a objetos está relativamente orientada a procesos. Esta es solo una manifestación concreta de la programación estructurada. Es un ejemplo de cómo el compilador proporciona medios para obligar a los programadores a seguir la privatización de datos. . Ahora volvamos a c. Si escribimos una variable global en un cpp sin declararla en el archivo H correspondiente, ¿es el único módulo que se puede usar? ¿Es una variable privada? Con esta comprensión, ¿puede la clase entender? 4. Aprenda las habilidades profundas de C ++ basándose en clases. Después de tantos años de desarrollo, C ++ en realidad proporciona muchos conceptos profundos. Parece muy complicado, pero de hecho creo que también es muy simple. Por ejemplo, plantillas, según tengo entendido es "clases de clases", ¿no crees? Ahora que la plantilla comprende STL, ATL, biblioteca de plantillas estáticas y biblioteca de plantillas dinámicas, ¿todavía es difícil de entender? Hay muchas clases que se pueden usar para implementar muchas clases necesarias en la aplicación, sin la necesidad de que los programadores las escriban ellos mismos. Bien, entiende STL, ¿sigue siendo difícil desarrollar genéricos? El llamado desarrollo genérico en realidad significa que creo una plantilla para definir un conjunto de reglas de algoritmo. Sin embargo, espero que esta regla del algoritmo pueda abstraerse aún más y no limitaré los tipos de datos principales. Puedo utilizar todo tipo de datos, por lo que no necesito reescribir sólo esta parte del algoritmo. ¿Crees que esto es cierto? Después de aprender esto, C ++ y C son casi suficientes. Aprender otro idioma es buscar la perfección y la culpa, lo cual es demasiado. 5. Aprenda a desarrollar aplicaciones Como se mencionó anteriormente, el propósito de aprender un idioma no es hacer que los demás piensen que es un experto, sino ganar dinero escribiendo programas. Entonces, después de aprender lingüística, debes aprender a desarrollar aplicaciones. ¿Qué es el desarrollo de aplicaciones? Entiendo un idioma, pero el cliente no. El cliente lo dice directamente. Escríbame un programa en Windows y qué funciones requiere. ¿Por qué Windows? Porque estoy acostumbrado. Pues bien, en muchos casos el desarrollo de aplicaciones debe respetar los hábitos de los clientes. En términos generales, los lenguajes deben combinarse con el desarrollo de plataformas específicas para desarrollar aplicaciones significativas y venderlas por dinero. Bueno, en términos generales, el cliente es un sistema Windows y el servidor es Linux. Estos son hábitos de la industria. Es difícil decirlo sobre los sistemas integrados. Existen varias plataformas, como Palm, S60, Linux, WinCE, etc. Depende de sus clientes objetivo. Cuando elegimos la plataforma de destino, surge la duda de qué idioma elegir. Muchas veces, esta es la diferencia entre un estudiante y un programador comercial. Los estudiantes generalmente no tienen otra opción. Pueden usar todo lo que saben, pero los programadores corporativos no. Primero tenemos que evaluar las necesidades y ver qué idioma es más adecuado. Si no podemos, debemos aprender. Bien, si eliges C y C++, entonces debes elegir una plataforma de desarrollo.

No hace falta decir que el mejor en Windows es VC, en Linux es gcc y los demás son más o menos iguales. Si desarrollamos VC y usamos C ++, debemos considerar aprender MFC en este momento, porque esta es la biblioteca de clases estándar de Microsoft, al menos en la plataforma Windows, es la más autorizada. ¿Has visto cuántos pasos hemos dado desde aprender a MFC? ¿No es MFC algo que se debe aprender para aprender C++? 6. Aprenda MFC Al aprender MFC, muchas personas comienzan a mirar su arquitectura y se confunden tan pronto como comienzan. Todavía no puedo entender ese gráfico de dependencia del módulo. Jaja, en realidad no. Al igual que aprender un idioma, el propósito de aprender MFC no es convertirse en un experto en MFC, sino utilizar MFC para desarrollar aplicaciones de Windows y ganar dinero para nosotros. ¿Viste eso? MFC es un medio, no un fin. El propósito es desarrollar programas para Windows. De hecho, en Windows, existe una interfaz C muy estándar llamada Win32API, que es el núcleo de programación estándar de Windows. Entonces, el verdadero propósito de aprender MFC es comprender el desarrollo de programas de Windows. Se recomienda aprender Win32API primero. Parece que volvemos a C otra vez, jaja. ¿Es útil aprender C al principio? 7.Win32APi De hecho, Win32API no es difícil de aprender, porque aunque es grande y tiene muchas interfaces, no es necesario. Realmente estamos creando una aplicación sencilla para Windows, pero no requiere mucho. Haga una conversación simple e implemente una función. De hecho, la mayoría de las funciones de interfaz que encontrará se utilizarán comúnmente en el futuro. Si dominas recordar los de uso común, estarás bien. El punto clave es comprender el mecanismo de eventos de Windows a través de WinMain en este momento, que es el núcleo. De hecho, es tan simple como la muerte. En el pasado, debido a que su programa no tenía soporte del sistema, tenía que hacer muchas cosas usted mismo, como verificar la entrada del mouse y el teclado. Necesitas escribir un bucle infinito y verlo tú mismo todo el tiempo, pero Windows dice, no hagas estas cosas, yo puedo hacerlo mejor que tú. Simplemente ve y juega si no tienes nada que hacer. Pondré noticias relacionadas contigo en una cola. Esta cola es tu cola de eventos. Si no tienes nada que hacer, búscalo tú mismo. Si hay algo nuevo, haz algo al respecto. Diviértete si no pasa nada. Bastante simple, ¿no? Por supuesto, Windows es un sistema operativo multitarea. A veces, nuestra lógica requiere funciones concurrentes. Por ejemplo, mientras espero mensajes del mouse y del teclado, necesito ver si la impresora está lista. Aquí necesito entender la computación paralela, que es independiente del lenguaje y del sistema operativo. Este es otro tema, así que no lo abordaré aquí. Puede encontrar información relevante sobre el desarrollo de subprocesos usted mismo. Verá, si queremos aprender bien a programar en Windows, en realidad necesitamos aprender no solo el lenguaje, sino también el sistema operativo, los principios de la computación paralela, los principios de la memoria y tal vez a veces necesitemos aprender muchos conocimientos. como la comunicación en red, así que confíe únicamente en el aprendizaje. No puede convertirse en un programador empresarial con un lenguaje. Hay demasiadas cosas que un programador calificado debe comprender y estudiar exhaustivamente. Una vez que comprendamos Win32API y la programación básica de ventanas, podemos regresar a MFC y continuar aprendiendo. ¿No es un retorno recursivo? Ja ja. 8. Regresar a MFC y aprender MFC es muy difícil porque encapsula demasiados detalles y es difícil de entender a fondo. Afortunadamente, tenemos la sencilla explicación del profesor Hou sobre MFC. Echemos un vistazo a cómo convertir de la programación C pura de Win32API al modo C++ de MFC. Este es el más rápido de ver. Después de leer los primeros seis capítulos, lo aprendí, así que no diré más aquí. 9, COM COM, COM, COM, tengo el mayor dolor de cabeza, jaja. COM es una llamada a procedimiento remoto, lo que significa que el código que solicita se ejecuta en otro proceso, pasando parámetros y resultados de un lado a otro a través de algún protocolo de comunicación. Eso es todo. DCOM va un paso más allá y el servidor puede estar en otra computadora. En el desarrollo de la empresa todos pueden trabajar juntos. Si desea cooperar, se recomienda utilizar COM en Windows. (Personalmente me gusta la comunicación por socket). En resumen, COM proporciona un mecanismo para la comunicación entre procesos e incluso entre máquinas. Sin embargo, para pasar varios parámetros, COM puede hacer cualquier cosa. Inventó punteros inteligentes que pueden señalar cualquier tipo de datos. Al mismo tiempo, para implementar punteros inteligentes, utiliza mucho diseño genérico de C++. Mira, las habilidades básicas de C++ entran en juego y también se utiliza ATL. Al aprender COM, debes prestar atención al concepto de interfaz.

Debido a que los desarrolladores son personas diferentes y es posible que el programa de llamada y el programa de servicio no estén en el mismo idioma, está bien, es imposible proporcionar simplemente C o C++. h interfaz de respuesta de archivos. Por lo tanto, COM proporciona una interfaz estándar. Los usuarios pueden consultar las interfaces disponibles en el programa y luego llamarlas usando el ID de la interfaz. Agotador. Después de aprender COM, podemos comprender mejor ActiveX y luego aprender un poco de dll (biblioteca de enlaces dinámicos) para escribir controles OCX. En general, el control OCX es un gran diseño que se puede utilizar en cualquier lugar. El desarrollo ideal de un módulo de software es así, que es más flexible que el exe. 10, desaparecido. Según la secta Shaolin, después de aprender lo anterior, has luchado en las 18 formaciones de bronce y puedes bajar de la montaña para ayudar al maestro sabio, eliminar a los traidores, cambiar las cosas y salvar a todas las personas. Sin embargo, la clave es si ha aprendido el método de aprendizaje a través del proceso anterior, para que no sea difícil aprender cosas nuevas cuando las encuentre. Esta es probablemente la comprensión de las artes marciales. Con esta base, siempre que practiques lentamente en el futuro, se estima que en 20 años serás mejor que los héroes del mundo. Jaja, ¿no crees? Uf, estoy tan cansada. De

Recuerda adoptar