boost::basic_string_view的应用实例和源码解析

boost::basic_string_view的应用实例和源码解析

在C++11标准中,新增了一个std::string_view类模板,用于取代C++03中std::string和const char *之间的转换。boost库中也有一个类似的类模板 boost::basic_string_view,本文将通过一些测试程序来展示其基本用法以及内部实现。

  1. 基本用法

boost::basic_string_view类模板的定义如下:

template<class CharT, class Traits = std::char_traits>
class basic_string_view;

它包含两个模板参数:CharT表示字符类型,Traits表示字符特性,通常不需要指定Traits,使用默认值std::char_traits即可。

我们可以使用以下代码创建一个字符串视图并输出它的长度:

#include
#include <boost/utility/string_view.hpp>

int main()
{
boost::string_view str_view(“hello, world”);
std::cout << "string view length: " << str_view.length() << std::endl;
return 0;
}

运行结果为:

string view length: 12

  1. 对比std::string和boost::basic_string_view

下面是一个将std::string和boost::basi

猜你喜欢

转载自blog.csdn.net/qq_37934722/article/details/132485035