tengo una función que toma const std::wstring&
FONT_FAMILY, es decirCómo pasar una cadena literal a una función que toma const std :: wstring y
Font Font::CreateFont(const std::wstring& font_family){ ... }
Por pregunta es ¿cómo puedo llamar a esa funcion pasando una cadena literal (por ejemplo, monoespacio)?
me trataron
CreateFont("monospace");
CreateFont("std::wstring("monospace"));
Ambos no se compila. ¿Alguien tiene una mejor idea?
Gracias.
En general, L "cadena literal" genera un carácter ancho ('wchar_t') cadena literal (que es exactamente lo que quiere para 'std :: wstring'.) Exactamente qué' wchar_t' es dependiente de la plataforma. En Windows, un '' wchar_t' almacena un punto de código UTF-16, pero en otras plataformas podría representar, por ejemplo, un punto de código UTF-32. – jamesdlin
Tenga en cuenta que la dependencia de la plataforma no tiene importancia para la respuesta. L "" es un 'wchar_t []' y 'std :: wstring' quiere un' wchar_t * ', así que esto funciona en todos los sistemas, ya sea' wchar_t' en 8, 16, 32 o 42 bits. – MSalters