2011-04-25 8 views
12

Hola en la documentación impulso MPL he descubierto MPL :: string y el siguiente ejemplo:impulso cadena MPL

typedef mpl::string<'hell','o wo','rld'> hello; 

estoy un poco sorprendido porque pensaba que en C o C++ que no podemos tener más de un personaje entre el personaje '?

¿Es normal y válido?

+1

Just ab FYI. Este artículo (http://cpp-next.com/archive/2012/10/using-strings-in-c-template-metaprograms/) tiene una mejor solución si tiene C++ 11 disponible. – KitsuneYMG

+0

Ese enlace ahora está muerto :( –

Respuesta

10

Sí, es válido C++. Desde cualquier norma existente C++, sección [lex.conn]:

un carácter ordinario literal que contiene más de un c-char es una multicaracter literal. Un literal de múltiples caracteres tiene el tipo int y valor definido por la implementación.

+3

bueno, es por eso que no podemos tener 5 caracteres entre ' – Guillaume07

Cuestiones relacionadas