Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Al igual que C++11, esta nueva versin de C aade una nueva palabra
clave, static_assert, que permite aadir aserciones en el cdigo que
se ejecutan a nivel de compilador.
Las aserciones se encargan de comprobar condiciones que tienen que
cumplirse a la hora de ejecutar una seccin de cdigo. Lo que hace
especiales a estas aserciones es que no se ejecutan en tiempo de
ejecucin (cuando el programa es ejecutado por el usuario), si no que
son comprobaciones realizadas en la fase de compilacin (en una fase
tarda donde los tipos son conocidos).
static_assert(sizeof(void*) >=8, "No eres de 64-bit :P");
//author: shobhitupadhyaya
template < class T, size_t length >
class String
{
static_assert(length < 100, "length is too big");
T str_data[length];
};
int main()
{
String<int, 101 > a1;
String<int, 90 > a2;
return 0;
}