Namespaces
Variants

std::experimental::basic_string_view<CharT,Traits>:: basic_string_view

From cppreference.net
constexpr basic_string_view ( ) noexcept ;
(1) (라이브러리 fundamentals TS)
constexpr basic_string_view ( const basic_string_view & other ) noexcept = default ;
(2) (라이브러리 fundamentals TS)
template < class Allocator >
basic_string_view ( const std:: basic_string < CharT, Traits, Allocator > & str ) noexcept ;
(3) (라이브러리 fundamentals TS)
constexpr basic_string_view ( const CharT * s, size_type count ) ;
(4) (라이브러리 fundamentals TS)
constexpr basic_string_view ( const CharT * s ) ;
(5) (라이브러리 fundamentals TS)
1) 기본 생성자. 빈 basic_string_view 를 생성합니다.
2) 복사 생성자. other 와 동일한 내용의 뷰를 생성합니다.
3) str. size ( ) 개의 문자로 구성된 뷰를 생성하며, 이는 str. data ( ) 가 가리키는 요소로 시작하는 문자 배열의 처음 부분입니다.
4) s 가 가리키는 요소로 시작하는 문자 배열의 처음 count 개 문자로 구성된 뷰를 생성합니다. s 는 null 문자를 포함할 수 있습니다. [ s , s + count ) 가 유효한 범위가 아닌 경우 동작은 정의되지 않습니다(생성자가 이 범위의 어떤 요소에도 접근하지 않을 수 있음에도 불구하고).
5) s 가 가리키는 널 종료 문자열의 뷰를 생성하며, 종료 널 문자는 포함하지 않습니다. 뷰의 길이는 Traits :: length ( s ) 에 의해 결정된 것처럼 계산됩니다. [ s , s + Traits :: length ( s ) ) 가 유효한 범위가 아닌 경우 동작은 정의되지 않습니다(생성자가 이 범위의 어떤 요소에도 접근하지 않을 수 있음에도 불구하고).

목차

매개변수

other - 뷰를 초기화할 다른 뷰
str - 뷰를 초기화할 C++ string 객체
s - 뷰를 초기화할 문자 배열 또는 C 문자열에 대한 포인터
count - 뷰에 포함할 문자 수

예외

4,5) 아무것도 throw하지 않습니다.

복잡도

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

참고 항목

뷰를 할당함
(public member function)