¿Cuáles son las características del estándar C real, que originalmente no formaban parte de C, pero se inventaron en / para C ++ y, debido a sus beneficios, se adoptaron posteriormente en C?
Un ejemplo destacado es el comentario de una sola línea //
, que originalmente vino de C ++ y luego fue adoptado por C.
¿Conoces más características del estándar C real, que explícita o implícitamente provino del desarrollo de C ++?
Información: Por supuesto, sé que C ++ se deriva de C, pero solo estaba pensando qué características se adoptaron a partir del desarrollo de su derivada, C ++.
c++
c
language-lawyer
standards
language-features
RobertS apoya a Monica Cellio
fuente
fuente
_Bool
tipo de C fue inspirado por C ++,bool
creo.main()
) es (creo) también algo que C ++ fue pionero y C adoptó posteriormente.Respuestas:
No puedo confirmar que definitivamente hayan sido influenciados por C ++ directamente 1 , pero aquí hay una lista de características en C ++ estándar que se agregaron en C99:
C11:
1 Por ejemplo, BCPL, el predecesor de B, que a su vez es el predecesor de C, ya tenía la misma sintaxis para comentarios de una sola línea. Algunos de estos pueden haber sido admitidos como extensiones de lenguaje en alguna implementación de C antes de su incorporación al estándar C ++. En estos casos, tanto el estándar C como el C ++ estándar pueden haber sido influenciados por la misma fuente, en lugar de influirse entre sí.
fuente
union named { struct { int i;}; };
Sin nombre:union named { struct { int i;} unnamed; };
. La estructura sin nombre no tiene nombre, pero tiene una variable con nombre. La estructura anónima no tiene nombre y no tiene una variable con nombre.Los atributos se agregaron en C ++ 11 y se agregarán en la próxima revisión estándar de C C2x . La propuesta (y aquí ) para esta característica hace referencia específica a C ++.
Ejemplo:
En este ejemplo, " attr1 atributo se aplica al tipo de variable i, attr2 y attR3 aplica a la propia variable, attr4 se aplica a la sentencia if y el vendedor :: attr5 se aplica a la instrucción return. " Fuente
fuente