La diferencia entre lenguaje C y lenguaje C ++

¿Cuál es la diferencia entre C y C ++? Este problema siempre me ha preocupado.

Al principio, sentí que el lenguaje C es muy similar a C ++. Después de aprender C, podía escribir directamente programas C ++. Pensé que ya dominaba dos lenguajes. Más tarde, reedité c y encontré varias incompatibilidades. Aquí resolveré la diferencia entre los dos idiomas que entiendo.

En primer lugar, el lenguaje C ++ no es un lenguaje que aparece de la nada. Por el nombre debemos saber que tiene una gran relación con C, es una actualización del lenguaje C (comprensión personal). C estaba originalmente compuesto por un montón de funciones, pero al desarrollar grandes proyectos, había más códigos, desarrollo repetido y gestión caótica. Más tarde, apareció la idea de la orientación a objetos, por lo que un grupo de Daniels escribió una gran parte de la base de datos sobre la base de c y formuló algunas reglas. Se produjo un nuevo lenguaje, C ++, pero para preservar la compatibilidad con C. C ++ también contiene mucho contenido de C. Déjame explicarte algunas de las situaciones que encontré. Primero, proporcione un problema de entrada y salida de caracteres.

No hay una función especial de entrada y salida en el lenguaje c, pero las funciones de entrada y salida scanf e printf incluidas en <stdio.h> se utilizan para la entrada y salida de caracteres. Aquí, al ingresar, los espacios y retornos de carro se ingresarán al objeto como caracteres.

C ++ también puede llamar a las funciones anteriores, pero c ++ presenta el concepto de transmisión. Si está aprendiendo C ++, este flujo es muy importante. Pero cuando cin y cout se usan como entrada y salida, no ingresan espacios y el carro vuelve como caracteres al objeto.

También hay clases de cadenas y CString. Los interesados ​​pueden echar un vistazo.

En resumen, se han introducido muchas bibliotecas en C ++ y las bibliotecas pueden resolver muchos desarrollos.

¿Por qué se llama C ++ un lenguaje orientado a objetos? Esto se debe a que C ++ introdujo el concepto de clase sobre la base de la clase de estructura de datos de c. Las clases incluyen no solo estructuras de datos sino también funciones, es decir, las clases tienen memoria y comportamiento. La introducción de clases hace de C ++ un lenguaje basado en objetos. Cuando se instancia una clase, la clase instanciada es el objeto. Envíe mensajes al objeto llamando a la función del objeto y asigne valores al objeto a través de las variables miembro de la clase. En este momento, C ++ se convirtió en un lenguaje orientado a objetos. Se puede decir que el lenguaje orientado a objetos es objeto + mensaje. El programa C es función + función.

Además, C ++ fortalece la clase. La estructura en c es similar, pero se agregan los conceptos de herencia, derivación, polimorfismo y virtualidad. La introducción de clases hace que la programación del programa sea más fácil de entender. Debido a que todo el programa girará en torno a cosas como las clases, haciendo que toda la arquitectura esté orientada a objetos y sea más fácil de entender. En comparación, el lenguaje C es una pila de funciones, a menudo sin esta característica.

El uso de clases hace que toda la función sea meramente una interfaz o comportamiento de un objeto. Este uso hace que todo el programa se vea más claro y simple. El lenguaje C es el procesamiento de un conjunto de datos, que a menudo es confuso. La sobrecarga de funciones y las referencias hacen que la función sea polimórfica, por lo que no tiene que preocuparse por el nombre de la función.

Finalmente, C ++ tiene una poderosa biblioteca de plantillas. Hay varios contenedores y listas vinculadas, que hacen que la programación sea más flexible. Pero detrás de la flexibilidad está que es más difícil de dominar. Comparado con el lenguaje C, siento que cuantas más bibliotecas necesito dominar, más conveniente es al escribir programas.



Publicado 42 artículos originales · elogiado 4 · 10,000+ vistas

Supongo que te gusta

Origin blog.csdn.net/wangyhwyh753/article/details/79088075
Recomendado
Clasificación