- string_view[meta header]
- std[meta namespace]
- basic_string_view[meta class]
- function[meta id-type]
- cpp17[meta cpp]
constexpr const_pointer data() const noexcept;
文字配列表現を取得する。
*this
が保持している、参照している文字配列へのポインタを返す。
投げない
文字列長はsubstr()
メンバ関数やコンストラクタなどで変更できるが、それらは参照の範囲を限定するのみである。この関数によって返される文字配列へのポインタは、参照範囲の終端にヌル文字は挿入しないので注意すること。
#include <iostream>
#include <string_view>
int main()
{
std::string_view sv = "Hello World";
const char* s = sv.data();
std::cout << "a : " << s << std::endl;
// 部分文字列
std::string_view sv2 = sv.substr(0, 5);
const char* s2 = sv2.data();
std::cout << "b : " << sv2 << std::endl;
std::cout << "c : " << s2 << std::endl; // 参照位置から全体が出力される
}
- data()[color ff0000]
- sv.substr[link substr.md]
a : Hello World
b : Hello
c : Hello World
- C++17
- Clang, C++17 mode: 4.0
- GCC, C++17 mode: 7.1
- ICC: ??
- Visual C++: ??