Exemplos de aplicação e análise de código fonte de boost::basic_string_view

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.

  1. 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

  1. Comparando std::string e boost::basic_string_view

Aqui está uma maneira de combinar std::string e boost::basi

Acho que você gosta

Origin blog.csdn.net/qq_37934722/article/details/132485035
Recomendado
Clasificación