std::basic_string<CharT,Traits,Allocator>::data
const CharT* data() const;
|
(1) | (C++11부터 noexcept) (C++20부터 constexpr) |
CharT* data() noexcept;
|
(2) | (C++17부터) (C++20부터 constexpr) |
문자 저장소로 사용되는 내부 배열에 대한 포인터를 반환합니다. 포인터는 범위
|
|
(C++11까지) |
|
|
(C++11부터) |
가 유효하고 그 안의 값이 문자열에 저장된 값과 일치하도록 보장합니다.
|
반환된 배열은 null로 종료될 필요가 없습니다. 만약 empty()가 |
(C++11까지) |
|
반환된 배열은 null로 종료됩니다. 즉, 만약 empty()가 |
(C++11부터) |
에서 얻은 포인터는 다음에 의해 무효화될 수 있습니다:data()
- 문자열에 대한 비-const 참조를 표준 라이브러리 함수에 전달하거나,
- 다음을 제외한 문자열의 비-const 멤버 함수를 호출하는 경우:
operator[](), at(), front(), back(), begin(), end(), rbegin(), rend().
datadata() + size() 이외의 값으로 수정하면 동작이 정의되지 않습니다.CharT()매개변수
(없음)
반환값
기본 문자 저장소에 대한 포인터입니다.
|
data
(
)
[
i
]
==
operator
[
]
(
i
)
모든
|
(C++11 이전) |
|
data
(
)
+
i
==
std::
addressof
(
operator
[
]
(
i
)
)
모든
|
(C++11 이후) |
복잡도
상수.
예제
#include <algorithm> #include <cassert> #include <cstring> #include <string> int main() { std::string const s("Emplary"); assert(s.size() == std::strlen(s.data())); assert(std::equal(s.begin(), s.end(), s.data())); assert(std::equal(s.data(), s.data() + s.size(), s.begin())); assert('\0' == *(s.data() + s.size())); }
참고 항목
|
(
DR*
)
|
첫 번째 문자에 접근
(public member function) |
|
(
DR*
)
|
마지막 문자에 접근
(public member function) |
|
문자열의 수정 불가능한 표준 C 문자 배열 버전을 반환
(public member function) |
|
|
뷰의 첫 번째 문자에 대한 포인터를 반환
(public member function of
std::basic_string_view<CharT,Traits>
)
|