Exemplos de aplicação e análise de código fonte de boost::basic_string_view
No padrão C++ 11, um novo modelo de classe std::string_view é adicionado para substituir a conversão entre std::string e const char * em C++03. Há também um modelo de classe semelhante boost::basic_string_view na biblioteca boost. Este artigo mostrará seu uso básico e implementação interna por meio de alguns programas de teste.
- uso básico
O modelo de classe boost::basic_string_view é definido da seguinte forma:
template<class CharT, class Traits = std::char_traits>
class basic_string_view;
Ele contém dois parâmetros de modelo: CharT representa o tipo de caractere e Traits representa as características do caractere.Geralmente, não há necessidade de especificar Traits, e o valor padrão std::char_traits pode ser usado.
Podemos criar uma visualização de string e gerar seu comprimento com o seguinte código:
#include
#include <boost/utility/string_view.hpp>
int main()
{ boost::string_view str_view(“olá, mundo”); std::cout << "comprimento da visualização da string: " << str_view.length() << std::endl; retornar 0; }
O resultado da operação é:
comprimento da visualização de string: 12
- Comparando std::string e boost::basic_string_view
Aqui está uma maneira de combinar std::string e boost::basi