8. Estándares del lenguaje

Durante todo el libro, cuando se haga referencia al estándar de C ISO, generalmente se dirá «C». Sólo si se necesita distinguir entre C estándar y otros más viejos, versiones previas al estándar de C, se hará una distinción.

Cuando se escribió este libro, el Comité de Estándares de C++ ya había terminado de trabajar en el lenguaje. Por eso, se usará el término C++ Estándar para referirse al lenguaje estandarizado. Si se hace referencia simplemente a C++, debería asumir que se quiere decir «C++ Estándar».

Hay alguna confusión sobre el nombre real del Comité de Estándares de C++ y el nombre del estándar mismo. Steve Clamage, el presidente del comité, clarificó esto:

Hay dos comités de estandarización de C++: El comité NCITS (antiguamente X3) J16 y el comité ISO JTC1/SC22/WG14. ANSI alquila NCITS para crear comités técnicos para desarrollar estándares nacionales americanos.

J16 fue alquilado en 1989 para crear un estándar americano para C++. Por el año 1991 se alquiló WG14 para crear un estándar internacional. El proyecto J16 se convirtió en un proyecto «Tipo I» (Internacional) y se subordinó al esfuerzo de estandarización de ISO.

Los dos comités se encontraban al mismo tiempo en el mismo sitio, y el voto de J16 constituye el voto americano con WG14. WG14 delega el trabajo técnico a J16. WG14 vota por el trabajo técnico de J16.

El estándar de C++ fue creado originalmente como un estándar ISO. ANSI votó más tarde (como recomendaba J16) para adoptar el estándar de C++ ISO como el estándar americano para C++.

Por eso, «ISO» es la forma correcta de referirse al Estándar C++.

8.1. Soporte del lenguaje

Puede que su compilador no disponga de todas las características discutidas en este libro, especialmente si no tiene la versión más recente del compilador. Implementar un lenguaje como C++ es una tarea hercúlea, y puede esperar que las características aparecerán poco a poco en lugar de todas a la vez. Pero si prueba uno de los ejemplos del libro y obtiene un montón de errores del compilador, no es necesariamente un error en el código o en el compilador; simplemente puede no estar implementado aún en su compilador particular.