
LIBRERÍA EN C++
<Ciso646>
El <ciso646> encabezado (del <iso646.h>encabezado estándar de C ) no hace nada en C ++. El encabezado C define una pequeña cantidad de macros, como andpara &&, pero estas macros son todas palabras clave reservadas en C ++. El <ciso646> encabezado existe solo por estar completo: cada encabezado en el estándar C tiene un equivalente en C ++.
No todos los compiladores de C ++ implementan correctamente los tokens alternativos como and. Estos compiladores pueden utilizar <ciso646>para declarar estas palabras clave como macros. Para obtener la máxima portabilidad para estos compiladores no conformes, incluya el <ciso646>encabezado cuando desee usar cualquier palabra clave alternativa de token.


<Climits>
El tamaño máximo y mínimo de los valores integrales son muy útiles o, en términos simples, los límites de cualquier tipo integral desempeñan un papel fundamental en la programación. En lugar de recordar estos valores, se pueden usar macros diferentes.
<climits> (limits.h) define tamaños de tipos integrales.
Este encabezado define constantes con los límites de los tipos integrales fundamentales para el sistema específico y la implementación del compilador utilizados.
Los límites para los tipos fundamentales de punto flotante se definen en <cfloat> (<float.h>).
Los límites para los tipos integrales específicos de ancho y otros tipos typedef se definen en <cstdint> (<stdint.h>).



<Clocale>
Una configuración regional es un conjunto de características que son específicas de la cultura, que los programas pueden usar para ser más transportables internacionalmente.
En C ++, los locales están representados por un objeto dellugarclase. Cada uno de estoslugarLos objetos contienen toda la información necesaria para usar un conjunto de características dependientes de la cultura. Pero los objetos de configuración regional no contienen las características directamente como funciones de miembro: en su lugar, un objeto de configuración regional contiene información sobre los objetos de faceta que selecciona, y cada uno de estos objetos de faceta implementa características específicas como funciones de miembro. Esto permite que las características que son comunes a varias configuraciones regionales se compartan utilizando los mismos objetos de faceta , y los hace extensibles, lo que permite agregar facetas personalizadas alugarobjetos.
Las facetas se dividen en seis categorías estándar :


Los objetos de configuración regional se pueden construir completamente a partir de un nombre, tomando todas las características de esa configuración regional denominada, o pueden mezclar categorías de facetas de diferentes configuraciones regionales (consulte el constructor de configuración regional de la clase para obtener más información).
Por lo tanto, el núcleo de la funcionalidad de localización en C ++ se implementa en las diferentes facetas . Las facetas son objetos. Estos objetos son administrados automáticamente por el motor de configuración regional, por lo que los objetos de facetas generalmente no se construyen ni se copian localmente en un programa (de hecho, un programa está impedido por sus destructores protegidos). La forma más general de acceder a una característica particular de una faceta asociada con una configuración regional es con la funciónuse_facet:

Cada faceta
-
se deriva de la clase locale :: faceta (o de cualquier clase derivada de ella, como otra faceta).
-
definir un miembro estático llamado carné de identidad de tipo locale :: id Con un valor específico.
Un programa puede definir sus propias facetas para agregarlas a un entorno local cumpliendo los requisitos anteriores.
Todos los constructores de facetas incluyen como segundo parámetro (llamadorefsen esta referencia) que define si la desasignación de clase se delega al motor de configuración regional y, por lo tanto, se elimina automáticamente cuando se destruye el último objeto de configuración regional donde está presente, o si el programa está a cargo de su eliminación en algún momento.
Algunas facetas tienen un equivalente pero terminan con "_byname". Estos tipos de facetas son utilizados por el motor de localización para construir los objetos de faceta apropiados cuando un nombrelugarobjeto se construye.
Todas las facetas estándar están diseñadas con miembros públicos que llaman miembros protegidos virtuales con el mismo nombre, pero precedidos por "do_". La implementación de la operación en sí misma reside en la función miembro protegida virtual (de modo que la clase derivada puede sobrescribirla fácilmente), mientras que la función pública no virtual puede implementar una funcionalidad específica de la plataforma no relacionada con la operación en sí, pero es necesaria para permitir la función para trabajar correctamente en el sistema.