Las principales características y desarrollo de C++ en comparación con C
La siguiente es una introducción detallada:
1. La relación entre C++ y el lenguaje C:
La razón por la que el lenguaje C se llama "C" es porque se refiere al lenguaje A llamado "B", su diseñador creía que C era una mejora de B, por lo que lo llamó C, pero B es diferente de B porque había otro lenguaje antes y la razón por la cual se llama lenguaje B; "B", no porque hubiera otro idioma A antes que él, sino porque el autor del idioma B quería conmemorar a su esposa, porque la primera letra del nombre de su esposa era B. Cuando el lenguaje C alcanzó su apogeo, apareció una versión del lenguaje C llamada C con Clase, que era la primera versión de C ++. Había muchas versiones del lenguaje C en ese momento. Lenguaje C que quería incluirse en el lenguaje C. Se agrega el concepto de clase al lenguaje C. En ese momento, había muchas versiones del lenguaje C que querían agregar el concepto de clases al lenguaje C. Más tarde, el Comité de Estándares C decidió darle un nuevo nombre a esta versión del lenguaje C; En ese momento, se solicitaron muchos nombres, y finalmente se adoptó uno de ellos para reflejar que era un avance del lenguaje C a través del operador ++ en el lenguaje C, por lo que se llamó C++ y se estableció el Comité de Estándares de C++. .
2. El desarrollo y las características de C++: C++ está diseñado como un lenguaje de programación multipropósito de tipado estático que es tan eficiente y portátil como el lenguaje C. C++ está diseñado para ser simple y claro, y admite múltiples estilos de programación (programación procedimental, abstracción de datos, programación orientada a objetos, programación genérica). C++ está diseñado para brindar a los programadores más opciones, incluso si esto puede llevar a que los programadores tomen decisiones equivocadas. C++ está diseñado para ser lo más compatible posible con C, lo que permite una transición fluida de C a C++. C++ evita el uso de funciones no universales o específicas de la plataforma. C++ no utiliza funciones que introduzcan una sobrecarga adicional. C++ no requiere un entorno de programación complejo.
Por razones tales como mantener el lenguaje simple y funcionando eficientemente, muchas características de C++ se proporcionan a través de bibliotecas (como STL) u otros medios, en lugar de agregarse directamente al lenguaje mismo. El diseño y evolución del lenguaje C++, escrito por el padre de C++, cubre este tema en detalle.
3. La diferencia de eficiencia entre los dos:
La diferencia de eficiencia entre C++ y C suele ser de más o menos 5%. Es por eso que algunas personas creen que C++ puede reemplazar completamente a C en la mayoría de las situaciones (aunque todavía usamos C en microcontroladores y otros lugares donde se requiere un uso cuidadoso del espacio y la manipulación directa del hardware).
4. C es un subconjunto de C++:
C++ incluye:
1.C++ admite casi todas las funciones de C++, con solo diferencias sutiles en la sintaxis ( Por ejemplo, los valores izquierdo y derecho de las expresiones entre corchetes, consulte el documento estándar de C++).
2. Objective C++ (Objetivo C++): El lenguaje C++ originalmente no tenía características de diseño orientado a objetos, sin embargo, con la introducción del concepto de programación orientada a objetos y el desarrollo y madurez de los lenguajes. Al igual que Java, el lenguaje C ++ también ha desarrollado una versión que admite funciones orientadas a objetos. VC ++, que los programadores usan comúnmente ahora, es un lenguaje orientado a objetos.
3. Lenguaje de programación general. Las poderosas capacidades de plantilla de C++ (pero fácilmente fuera de control) le permiten completar una gran cantidad de trabajo durante la compilación, mejorando así en gran medida la eficiencia del tiempo de ejecución.
4. STL (Biblioteca de plantillas estándar de C++, biblioteca de plantillas estándar). A medida que STL continúa evolucionando, gradualmente se ha convertido en una parte integral de la programación en C++. Su eficiencia puede ser menor que la del código nativo ordinario, pero su seguridad y estandarización lo hacen popular.
Además, se están desarrollando y probando características nuevas y adicionales incluidas en TR1 que se implementarán en C++0x.