std::experimental::basic_string_view<CharT,Traits>:: basic_string_view
From cppreference.net
<
cpp
|
experimental
|
basic string view
|
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) |