std::experimental::basic_string_view<CharT,Traits>::basic_string_view
来自cppreference.com
< cpp | experimental | basic string view
constexpr basic_string_view() noexcept; |
(1) | (库基础 TS) |
constexpr basic_string_view( const basic_string_view& other ) noexcept = default; |
(2) | (库基础 TS) |
template<class Allocator> basic_string_view( const std::basic_string<CharT, Traits, Allocator>& str ) noexcept; |
(3) | (库基础 TS) |
constexpr basic_string_view( const CharT* s, size_type count ); |
(4) | (库基础 TS) |
constexpr basic_string_view( const CharT* s ); |
(5) | (库基础 TS) |
1) 默认构造函数。构造空
basic_string_view
。2) 复制构造函数。构造与 other 内容相同的视图。
3) 构造以 str.data() 所指向的元素开始的数组的前 str.size() 个字符的视图。
4) 构造以 s 指向的元素开始的数组的前 count 个字符的视图。s 可以包含空字符。若
[
s,
s + count)
不是有效范围则其行为未定义(即便该构造函数并不访问范围中的任何元素也是如此)。5) 构造由 s 指向的空终止字符串的视图,不包括终止的空字符。视图的长度如同以 Traits::length(s) 确定。若
[
s,
s + Traits::length(s))
不是有效范围则其行为未定义(即便该构造函数并不访问范围中的任何元素也是如此)。参数
other | - | 用以初始化视图的另一个视图 |
str | - | 用以初始化视图的 C++ 字符串对象 |
s | - | 指向字符数组或 C 字符串的指针,用以初始化视图 |
count | - | 视图中要包括的字符数量 |
异常
4,5) 不抛出。
复杂度
1-4) 常数。
5) 与 s 的长度呈线性。
示例
运行此代码
#include <experimental/string_view> #include <iostream> int main() { std::string cppstr = "Foo"; char array[3] = {'B', 'a', 'r'}; std::experimental::string_view cppstr_v(cppstr); std::experimental::string_view array_v(array, sizeof array); std::experimental::wstring_view wcstr_v = L"xyzzy"; std::cout << cppstr_v << '\n' << array_v << '\n' << wcstr_v.size() << '\n'; }
输出:
Foo Bar 5
参阅
对视图赋值 (公开成员函数) |