Ejemplos de aplicación y análisis del código fuente de boost::basic_string_view
En el estándar C++ 11, se agrega una nueva plantilla de clase std::string_view para reemplazar la conversión entre std::string y const char * en C++03. También hay una plantilla de clase similar boost::basic_string_view en la biblioteca de boost. Este artículo mostrará su uso básico y su implementación interna a través de algunos programas de prueba.
- uso básico
La plantilla de clase boost::basic_string_view se define de la siguiente manera:
plantilla<clase CharT, clase Rasgos = std::char_traits>
clase basic_string_view;
Contiene dos parámetros de plantilla: CharT representa el tipo de carácter y Traits representa las características del personaje. Por lo general, no es necesario especificar Traits y se puede usar el valor predeterminado std::char_traits.
Podemos crear una vista de cadena y generar su longitud con el siguiente código:
#include
#incluye <boost/utility/string_view.hpp>
int main()
{ boost::string_view str_view(“hola mundo”); std::cout << "longitud de vista de cadena: " << str_view.length() << std::endl; devolver 0; }
El resultado de la operación es:
longitud de la vista de cadena: 12
- Comparando std::string y boost::basic_string_view
Aquí hay una manera de combinar std::string y boost::basi