Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Templat basic_string_view<charT> kelas ditambahkan di C++17 untuk berfungsi sebagai cara yang aman dan efisien bagi fungsi untuk menerima berbagai jenis string yang tidak terkait tanpa fungsi harus di-templat pada jenis tersebut. Kelas ini menyimpan pointer non-pemilik ke urutan data karakter yang berdekatan, dan panjang yang menentukan jumlah karakter dalam urutan. Tidak ada asumsi yang dibuat tentang apakah urutan dihentikan null.
Pustaka standar mendefinisikan beberapa spesialisasi berdasarkan jenis elemen:
string_viewwstring_viewu16string_viewu32string_view
A basic_string_view menjelaskan antarmuka umum minimum yang diperlukan untuk membaca data string. Ini menyediakan akses const ke data yang mendasar; tidak membuat salinan (kecuali untuk copy fungsi ). Data mungkin atau mungkin tidak berisi nilai null (\0) pada posisi apa pun. Tidak basic_string_view memiliki kontrol atas masa pakai objek. Ini adalah tanggung jawab pemanggil untuk memastikan bahwa data string yang mendasar valid.
Fungsi yang menerima parameter jenis string_view dapat dibuat untuk bekerja dengan jenis seperti string apa pun, tanpa membuat fungsi menjadi templat, atau membatasi fungsi ke subset jenis string tertentu. Satu-satunya persyaratan adalah bahwa konversi implisit ada dari jenis string ke string_view. Semua jenis string standar secara implisit dapat dikonversi ke yang string_view berisi jenis elemen yang sama. Dengan kata lain, dapat std::string dikonversi ke string_view tetapi tidak ke wstring_view.
Contoh berikut menunjukkan fungsi f non-templat yang mengambil parameter jenis wstring_view. Ini dapat dipanggil dengan argumen jenis std::wstring, , wchar_t*dan winrt::hstring.
// compile with: /std:c++17
// string_view that uses elements of wchar_t
void f(wstring_view);
// pass a std::wstring:
const std::wstring& s { L"Hello" };
f(s);
// pass a C-style null-terminated string (string_view is not null-terminated):
const wchar_t* ns = L"Hello";
f(ns);
// pass a C-style character array of len characters (excluding null terminator):
const wchar_t* cs { L"Hello" };
size_t len { 5 };
f({cs,len});
// pass a WinRT string
winrt::hstring hs { L"Hello" };
f(hs);
Syntax
template <class CharType, class Traits = char_traits<CharType>>
class basic_string_view;
Parameters
CharType
Jenis karakter yang disimpan di basic_string_view. Pustaka Standar C++ menyediakan typedef berikut untuk spesialisasi templat ini.
-
string_viewuntuk elemen jenischar -
wstring_viewbagiwchar_t -
u16string_viewuntukchar16_t -
u32string_viewuntukchar32_t.
Traits
Default ke char_traits<CharType>.
Constructors
| Constructor | Description |
|---|---|
basic_string_view |
Membuat basic_string_view yang kosong atau menunjuk ke semua atau sebagian dari beberapa data objek string lainnya, atau ke array karakter gaya C. |
Typedefs
| Type name | Description |
|---|---|
const_iterator |
Iterator akses acak yang dapat membaca const elemen. |
const_pointer |
using const_pointer = const value_type*; |
const_reference |
using const_reference = const value_type&; |
const_reverse_iterator |
using const_reverse_iterator = std::reverse_iterator<const_iterator>; |
difference_type |
using difference_type = ptrdiff_t; |
iterator |
using iterator = const_iterator; |
npos |
static constexpr size_type npos = size_type(-1); |
pointer |
using pointer = value_type*; |
reference |
using reference = value_type&; |
reverse_iterator |
using reverse_iterator = const_reverse_iterator; |
size_type |
using size_type = size_t; |
traits_type |
using traits_type = Traits; |
value_type |
using value_type = CharType; |
Member operators
| Operator | Description |
|---|---|
operator= |
basic_string_view Menetapkan objek string atau yang dapat dikonversi ke objek lain basic_string_view. |
operator[] |
Mengembalikan elemen pada indeks yang ditentukan. |
Member functions
| Member function | Description |
|---|---|
at |
Mengembalikan const_reference ke elemen di lokasi tertentu. |
back |
Mengembalikan const_reference ke elemen terakhir. |
begin |
Mengembalikan iterator yang const menangani elemen pertama. (basic_string_views tidak dapat diubah.) |
cbegin |
Sama seperti begin. |
cend |
Mengembalikan iterator const yang menunjuk ke satu melewati elemen terakhir. |
copy |
Menyalin paling banyak jumlah karakter tertentu dari posisi terindeks dalam sumber basic_string_view ke array karakter target. (Tidak disarankan. Gunakan _Copy_s sebagai gantinya.) |
_Copy_s |
Fungsi salinan CRT yang aman. |
compare |
basic_string_view Membandingkan dengan yang ditentukan basic_string_view untuk menentukan apakah mereka sama atau jika satu secara leksikografis kurang dari yang lain. |
crbegin |
Sama seperti rbegin. |
crend |
Sama seperti rend. |
data |
Mengembalikan pointer non-pemilik mentah ke urutan karakter. |
empty |
Menguji apakah berisi basic_string_view karakter. |
end |
Sama seperti cend. |
ends_with
C++20 |
Periksa apakah tampilan string diakhiri dengan akhiran tertentu. |
find |
Mencari ke arah depan untuk kemunculan pertama substring yang cocok dengan urutan karakter tertentu. |
find_first_not_of |
Mencari karakter pertama yang bukan elemen apa pun dari objek string yang ditentukan basic_string_view atau dapat dikonversi. |
find_first_of |
Mencari karakter pertama yang cocok dengan elemen apa pun dari objek string tertentu atau yang dapat dikonversi basic_string_view . |
find_last_not_of |
Mencari karakter terakhir yang bukan elemen apa pun dari objek string yang ditentukan basic_string_view atau dapat dikonversi. |
find_last_of |
Mencari karakter terakhir yang merupakan elemen dari objek string yang ditentukan basic_string_view atau dapat dikonversi. |
front |
Mengembalikan const_reference ke elemen pertama. |
length |
Mengembalikan jumlah elemen saat ini. |
max_size |
Mengembalikan jumlah maksimum karakter yang dapat dimuat basic_string_view . |
rbegin |
Mengembalikan iterator const yang membahas elemen pertama dalam terbalik basic_string_view. |
remove_prefix |
Memindahkan penunjuk ke depan dengan jumlah elemen yang ditentukan. |
remove_suffix |
Mengurangi ukuran tampilan dengan jumlah elemen yang ditentukan mulai dari belakang. |
rend |
Mengembalikan iterator const yang menunjuk ke satu melewati elemen terakhir dalam terbalik basic_string_view. |
rfind |
basic_string_view Mencari secara terbalik untuk kemunculan pertama substring yang cocok dengan urutan karakter tertentu. |
size |
Mengembalikan jumlah elemen saat ini. |
starts_with
C++20 |
Periksa apakah tampilan string dimulai dengan awalan tertentu. |
substr |
Mengembalikan substring dengan panjang yang ditentukan mulai dari indeks tertentu. |
swap |
Tukarkan konten dua basic_string_view objek. |
Remarks
Jika fungsi diminta untuk menghasilkan urutan yang lebih panjang dari max_size elemen, fungsi melaporkan kesalahan panjang dengan melemparkan objek jenis length_error.
Requirements
/std:c++17 atau yang lebih baru.
Header:<string_view>
Namespace:std
basic_string_view::at
Mengembalikan const_reference ke karakter pada indeks berbasis nol yang ditentukan.
constexpr const_reference at(size_type offset) const;
Parameters
offset
Indeks elemen yang akan dirujuk.
Return value
A const_reference ke karakter pada posisi yang ditentukan oleh indeks parameter.
Remarks
Elemen pertama memiliki indeks nol dan elemen berikut diindeks secara berturut-turut oleh bilangan bulat positif, sehingga basic_string_view panjangnya n memiliki elemen *n*th yang diindeks oleh angka n - 1.
at melempar pengecualian untuk indeks yang tidak valid, tidak seperti operator[].
Secara umum, kami menyarankan agar at untuk urutan seperti std::vector dan basic_string_view tidak boleh digunakan. Indeks yang tidak valid yang diteruskan ke urutan adalah kesalahan logika yang harus ditemukan dan diperbaiki selama pengembangan. Jika program tidak yakin bahwa indeksnya valid, program harus mengujinya, tidak memanggil at() dan mengandalkan pengecualian untuk bertahan dari pemrograman yang ceroboh.
Untuk informasi selengkapnya, lihat basic_string_view::operator[] .
Example
// basic_string_view_at.cpp
// compile with: /EHsc
#include <string_view>
#include <iostream>
int main()
{
using namespace std;
const string_view str1("Hello world");
string_view::const_reference refStr2 = str1.at(8); // 'r'
}
basic_string_view::back
Mengembalikan const_reference ke elemen terakhir.
constexpr const_reference back() const;
Return value
A const_reference hingga elemen terakhir dalam basic_string_view.
Remarks
Melempar pengecualian jika basic_string_view kosong.
Perlu diingat basic_string_viewbahwa setelah remove_suffix dimodifikasi, misalnya dengan memanggil , maka elemen yang dikembalikan oleh fungsi ini bukan lagi elemen terakhir dalam data yang mendasar.
Example
string_view Yang dibangun dengan string C harfiah tidak menyertakan penghentian null. Jadi dalam contoh berikut, back mengembalikan 'p' dan bukan '\0'.
char c[] = "Help"; // char[5]
string_view sv{ c };
cout << sv.size(); // size() == 4
cout << sv.back() << endl; // p
Null yang disematkan diperlakukan sebagai karakter lain:
string_view e = "embedded\0nulls"sv;
cout << boolalpha << (e.back() == 's'); // true
basic_string_view::basic_string_view
Membangun sebuah basic_string_view.
constexpr basic_string_view() noexcept;
constexpr basic_string_view(const basic_string_view&) noexcept = default;
constexpr basic_string_view(const charT* str);
constexpr basic_string_view(const charT* str, size_type len);
Parameters
str
Penunjuk ke nilai karakter.
len
Jumlah karakter yang akan disertakan dalam tampilan.
Remarks
Konstruktor dengan charT* parameter mengasumsikan bahwa input dihentikan null, tetapi penghentian null tidak disertakan dalam basic_string_view.
Anda juga dapat membangun basic_string_view dengan harfiah. Lihat operator"" sv.
basic_string_view::begin
Sama seperti cbegin.
constexpr const_iterator begin() const noexcept;
Return value
Mengembalikan const_iterator alamat elemen pertama.
basic_string_view::cbegin
Mengembalikan const_iterator yang membahas elemen pertama dalam rentang.
constexpr const_iterator cbegin() const noexcept;
Return value
Iterator const akses acak yang menunjuk pada elemen pertama rentang, atau lokasi tepat di luar akhir rentang kosong (untuk rentang kosong, cbegin() == cend()).
basic_string_view::cend
Mengembalikan const_iterator yang membahas lokasi tepat di luar elemen terakhir dalam rentang.
constexpr const_iterator cend() const noexcept;
Return value
Iterator const akses acak yang menunjuk tepat di luar akhir rentang.
Remarks
Nilai yang dikembalikan oleh cend tidak boleh didereferensikan.
basic_string_view::compare
Apakah perbandingan peka huruf besar/kecil dengan yang ditentukan basic_string_view (atau jenis string yang dapat dikonversi) untuk menentukan apakah kedua objek sama atau jika satu secara leksikografis kurang dari yang lain. Operator <string_view> menggunakan fungsi anggota ini untuk melakukan perbandingan.
constexpr int compare(basic_string_view strv) const noexcept;
constexpr int compare(size_type pos, size_type num, basic_string_view strv) const;
constexpr int compare(size_type pos, size_type num, basic_string_view strv, size_type offset, size_type num2) const;
constexpr int compare(const charT* ptr) const;
constexpr int compare(size_type pos, size_type num, const charT* ptr) const;
constexpr int compare(size_type pos, size_type num, const charT* ptr, size_type num2) const;
Parameters
strv
Yang basic_string_view akan dibandingkan dengan ini basic_string_view.
pos
Indeks ini basic_string_view di mana perbandingan dimulai.
num
Jumlah maksimum karakter dari ini basic_string_view untuk dibandingkan.
num2
Jumlah maksimum karakter dari strv yang akan dibandingkan.
offset
Indeks strv di mana perbandingan dimulai.
ptr
String C yang akan dibandingkan dengan ini basic_string_view.
Return value
- Nilai negatif jika ini
basic_string_viewkurang daristrvatauptr - Nol jika dua urutan karakter sama
- Nilai positif jika ini
basic_string_viewlebih besar daristrvatauptr
Remarks
Fungsi compare anggota melakukan perbandingan peka huruf besar/kecil dari semua atau sebagian dari setiap urutan karakter.
Example
// basic_string_view_compare.cpp
// compile with: /EHsc
#include <string_view>
#include <iostream>
#include <string>
using namespace std;
string to_alpha(int result)
{
if (result < 0) return " less than ";
else if (result == 0) return " equal to ";
else return " greater than ";
}
int main()
{
// The first member function compares
// two string_views
string_view sv_A("CAB");
string_view sv_B("CAB");
cout << "sv_A is " << sv_A << endl;
cout << "sv_B is " << sv_B << endl;
int comp1 = sv_A.compare(sv_B);
cout << "sv_A is" << to_alpha(comp1) << "sv_B.\n";
// The second member function compares part of
// an operand string_view to another string_view
string_view sv_C("AACAB");
string_view sv_D("CAB");
cout << "sv_C is: " << sv_C << endl;
cout << "sv_D is: " << sv_D << endl;
int comp2a = sv_C.compare(2, 3, sv_D);
cout << "The last three characters of sv_C are"
<< to_alpha(comp2a) << "sv_D.\n";
int comp2b = sv_C.compare(0, 3, sv_D);
cout << "The first three characters of sv_C are"
<< to_alpha(comp2b) << "sv_D.\n";
// The third member function compares part of
// an operand string_view to part of another string_view
string_view sv_E("AACAB");
string_view sv_F("DCABD");
cout << "sv_E: " << sv_E << endl;
cout << "sv_F is: " << sv_F << endl;
int comp3a = sv_E.compare(2, 3, sv_F, 1, 3);
cout << "The three characters from position 2 of sv_E are"
<< to_alpha(comp3a)
<< "the 3 characters of sv_F from position 1.\n";
// The fourth member function compares
// an operand string_view to a C string
string_view sv_G("ABC");
const char* cs_A = "DEF";
cout << "sv_G is: " << sv_G << endl;
cout << "cs_A is: " << cs_A << endl;
int comp4a = sv_G.compare(cs_A);
cout << "sv_G is" << to_alpha(comp4a) << "cs_A.\n";
// The fifth member function compares part of
// an operand string_view to a C string
string_view sv_H("AACAB");
const char* cs_B = "CAB";
cout << "sv_H is: " << sv_H << endl;
cout << "cs_B is: " << cs_B << endl;
int comp5a = sv_H.compare(2, 3, cs_B);
cout << "The last three characters of sv_H are"
<< to_alpha(comp5a) << "cs_B.\n";
// The sixth member function compares part of
// an operand string_view to part of an equal length of
// a C string
string_view sv_I("AACAB");
const char* cs_C = "ACAB";
cout << "sv_I is: " << sv_I << endl;
cout << "cs_C: " << cs_C << endl;
int comp6a = sv_I.compare(1, 3, cs_C, 3);
cout << "The 3 characters from position 1 of sv_I are"
<< to_alpha(comp6a) << "the first 3 characters of cs_C.\n";
}
sv_A is CAB
sv_B is CAB
sv_A is equal to sv_B.
sv_C is: AACAB
sv_D is: CAB
The last three characters of sv_C are equal to sv_D.
The first three characters of sv_C are less than sv_D.
sv_E: AACAB
sv_F is: DCABD
The three characters from position 2 of sv_E are equal to the 3 characters of sv_F from position 1.
sv_G is: ABC
cs_A is: DEF
sv_G is less than cs_A.
sv_H is: AACAB
cs_B is: CAB
The last three characters of sv_H are equal to cs_B.
sv_I is: AACAB
cs_C: ACAB
The 3 characters from position 1 of sv_I are equal to the first 3 characters of cs_C.
basic_string_view::copy
Menyalin paling banyak jumlah karakter tertentu dari posisi terindeks dalam sumber basic_string_view ke array karakter target. Kami menyarankan agar Anda menggunakan fungsi basic_string_view::_Copy_s aman sebagai gantinya.
size_type copy(charT* ptr, size_type count, size_type offset = 0) const;
Parameters
ptr
Array karakter target tempat elemen akan disalin.
count
Jumlah karakter yang akan disalin, paling banyak, dari sumber basic_string_view.
offset
Posisi awal di sumber basic_string_view tempat salinan akan dibuat.
Return value
Jumlah karakter yang disalin.
Remarks
Karakter null tidak ditambahkan ke akhir salinan.
basic_string_view::_Copy_s
Fungsi salinan CRT aman yang akan digunakan alih-alih copy.
size_type _Copy_s(
value_type* dest,
size_type dest_size,
size_type count,
size_type _Off = 0) const;
Parameters
dest
Array karakter target tempat elemen akan disalin.
dest_size
Ukuran dest.
count Jumlah karakter yang akan disalin, paling banyak, dari string sumber.
_Off
Posisi awal dalam string sumber tempat salinan akan dibuat.
Return value
Jumlah karakter yang disalin.
Remarks
Karakter null tidak ditambahkan ke akhir salinan.
For more information, see c-runtime-library/security-features-in-the-crt.
basic_string_view::crbegin
Mengembalikan const_reverse_iterator yang membahas elemen pertama dalam terbalik basic_string_view.
constexpr const_reverse_iterator crbegin() const noexcept;
Return value
const_reverse_iterator Yang membahas elemen pertama dalam terbalik basic_string_view.
basic_string_view::crend
Sama seperti rend.
constexpr const_reverse_iterator crend() const noexcept;
Return value
Mengembalikan alamat const_reverse_iterator yang melewati akhir dari terbalik basic_string_view.
basic_string_view::data
Mengembalikan pointer non-pemilik mentah ke urutan karakter const objek yang digunakan untuk membangun basic_string_view.
constexpr value_type *data() const noexcept;
Return value
Pointer-to-const ke elemen pertama dari urutan karakter.
Remarks
Penunjuk tidak dapat mengubah karakter.
Urutan basic_string_view karakter belum tentu dihentikan null. Jenis pengembalian untuk data bukan string C yang valid, karena tidak ada karakter null yang ditambahkan. Karakter \0 null tidak memiliki arti khusus dalam objek jenis basic_string_view dan mungkin menjadi bagian basic_string_view dari objek seperti karakter lainnya.
basic_string_view::empty
Menguji apakah berisi basic_string_view karakter atau tidak.
constexpr bool empty() const noexcept;
Return value
true
basic_string_view jika objek tidak berisi karakter; false jika memiliki setidaknya satu karakter.
Remarks
Fungsi anggota setara dengan size() == 0.
basic_string_view::end
Mengembalikan akses const_iterator acak yang menunjuk ke satu melewati elemen terakhir.
constexpr const_iterator end() const noexcept;
Return value
Mengembalikan akses const_iterator acak yang menunjuk ke satu melewati elemen terakhir.
Remarks
enddigunakan untuk menguji apakah const_iterator telah mencapai akhir .basic_string_view Nilai yang dikembalikan oleh end tidak boleh didereferensikan.
basic_string_view::ends_with
Periksa apakah tampilan string diakhiri dengan akhiran yang ditentukan.
bool ends_with(const CharType c) const noexcept;
bool ends_with(const CharType* const x) const noexcept;
bool ends_with(const basic_string_view sv) const noexcept;
Parameters
c
Akhiran karakter tunggal yang akan dicari.
sv
Tampilan string yang berisi akhiran yang akan dicari.
Anda dapat meneruskan std::basic_string, yang mengonversi ke basic_string_view.
x
String karakter null-terminated yang berisi akhiran untuk dicari.
Return value
true jika tampilan string diakhiri dengan akhiran yang ditentukan; false Sebaliknya.
Remarks
ends_with() baru di C++20. Untuk menggunakannya, tentukan opsi pengkompilasi atau yang /std:c++20 lebih baru.
Lihat starts_with untuk memeriksa apakah tampilan string dimulai dengan awalan yang ditentukan.
Example
// Requires /std:c++20 or later
#include <string>
#include <iostream>
int main()
{
std::cout << std::boolalpha; // so booleans show as 'true'/'false'
std::cout << std::string_view("abcdefg").ends_with('g') << '\n';
std::cout << std::string_view("abcdefg").ends_with("eFg") << '\n';
std::basic_string<char> str2 = "efg";
std::cout << std::string_view("abcdefg").ends_with(str2);
return 0;
}
true
false
true
basic_string_view::find
basic_string_view Mencari dalam arah maju untuk kemunculan pertama karakter atau substring yang cocok dengan urutan karakter yang ditentukan.
constexpr size_type find(basic_string_view str, size_type offset = 0) const noexcept;
constexpr size_type find(charT chVal, size_type offset = 0) const noexcept;
constexpr size_type find(const charT* ptr, size_type offset, size_type count) const;
constexpr size_type find(const charT* ptr, size_type offset = 0) const;
Parameters
str
fungsi basic_string_view anggota yang akan dicari.
chVal
Nilai karakter yang fungsi anggotanya akan dicari.
offset
Indeks di mana pencarian akan dimulai.
ptr
String C yang fungsi anggotanya akan dicari.
count
Jumlah karakter dalam ptr, menghitung maju dari karakter pertama.
Return value
Indeks karakter pertama substring yang dicari ketika berhasil; jika tidak npos.
basic_string_view::find_first_not_of
Mencari karakter pertama yang bukan merupakan elemen dari objek string yang ditentukan basic_string_view atau dapat dikonversi.
constexpr size_type find_first_not_of(basic_string_view str, size_type offset = 0) const noexcept;
constexpr size_type find_first_not_of(charT chVal, size_type offset = 0) const noexcept;
constexpr size_type find_first_not_of(const charT* ptr, size_type offset, size_type count) const;
constexpr size_type find_first_not_of(const charT* ptr, size_type offset = 0) const;
Parameters
str
fungsi basic_string_view anggota yang akan dicari.
chVal
Nilai karakter yang fungsi anggotanya akan dicari.
offset
Indeks di mana pencarian akan dimulai.
ptr
String C yang fungsi anggotanya akan dicari.
count
Jumlah karakter, menghitung maju dari karakter pertama, dalam string C yang fungsi anggotanya akan dicari.
Return value
Indeks karakter pertama substring yang dicari ketika berhasil; jika tidak npos.
basic_string_view::find_first_of
Mencari karakter pertama yang cocok dengan elemen apa pun dari yang ditentukan basic_string_view.
constexpr size_type find_first_of(basic_string_view str, size_type offset = 0) const noexcept;
constexpr size_type find_first_of(charT chVal, size_type offset = 0) const noexcept;
constexpr size_type find_first_of(const charT* str, size_type offset, size_type count) const;
constexpr size_type find_first_of(const charT* str, size_type offset = 0) const;
Parameters
chVal
Nilai karakter yang fungsi anggotanya akan dicari.
offset
Indeks di mana pencarian akan dimulai.
ptr
String C yang fungsi anggotanya akan dicari.
count
Jumlah karakter, menghitung maju dari karakter pertama, dalam string C yang fungsi anggotanya akan dicari.
str
fungsi basic_string_view anggota yang akan dicari.
Return value
Indeks karakter pertama substring yang dicari ketika berhasil; jika tidak npos.
basic_string_view::find_last_not_of
Mencari karakter terakhir yang bukan elemen apa pun dari yang ditentukan basic_string_view.
constexpr size_type find_last_not_of(basic_string_view str, size_type offset = npos) const noexcept;
constexpr size_type find_last_not_of(charT chVal, size_type offset = npos) const noexcept;
constexpr size_type find_last_not_of(const charT* ptr, size_type offset, size_type count) const;
constexpr size_type find_last_not_of(const charT* ptr, size_type offset = npos) const;
Parameters
str
fungsi basic_string_view anggota yang akan dicari.
chVal
Nilai karakter yang fungsi anggotanya akan dicari.
offset
Indeks tempat pencarian selesai.
ptr
String C yang fungsi anggotanya akan dicari.
count
Jumlah karakter, menghitung maju dari karakter pertama, di ptr.
Return value
Indeks karakter pertama substring yang dicari ketika berhasil; jika tidak string_view::npos.
basic_string_view::find_last_of
Mencari karakter terakhir yang cocok dengan elemen apa pun dari yang ditentukan basic_string_view.
constexpr size_type find_last_of(basic_string_view str, size_type offset = npos) const noexcept;
constexpr size_type find_last_of(charT chVal, size_type offset = npos) const noexcept;
constexpr size_type find_last_of(const charT* ptr, size_type offset, size_type count) const;
constexpr size_type find_last_of(const charT* ptr, size_type offset = npos) const;
Parameters
str
fungsi basic_string_view anggota yang akan dicari.
chVal
Nilai karakter yang fungsi anggotanya akan dicari.
offset
Indeks tempat pencarian selesai.
ptr
String C yang fungsi anggotanya akan dicari.
count
Jumlah karakter, menghitung maju dari karakter pertama, dalam string C yang fungsi anggotanya akan dicari.
Return value
Indeks karakter terakhir substring yang dicari ketika berhasil; jika tidak npos.
basic_string_view::front
Mengembalikan const_reference ke elemen pertama.
constexpr const_reference front() const;
Return value
A const_reference ke elemen pertama.
Remarks
Melempar pengecualian jika basic_string_view kosong.
basic_string_view::length
Mengembalikan jumlah elemen saat ini.
constexpr size_type length() const noexcept;
Remarks
Fungsi anggota sama sizedengan .
basic_string_view::max_size
Mengembalikan jumlah maksimum karakter yang dapat dimuat basic_string_view .
constexpr size_type max_size() const noexcept;
Return value
Jumlah maksimum karakter yang dapat dimuat basic_string_view .
Remarks
Pengecualian jenis length_error dilemparkan ketika operasi menghasilkan basic_string_view dengan panjang lebih besar dari max_size().
basic_string_view::operator=
basic_string_view Menetapkan objek string atau yang dapat dikonversi ke objek lain basic_string_view.
constexpr basic_string_view& operator=(const basic_string_view&) noexcept = default;
Example
string_view s = "Hello";
string_view s2 = s;
basic_string_view::operator[]
const_reference Menyediakan untuk karakter dengan indeks tertentu.
constexpr const_reference operator[](size_type offset) const;
Parameters
offset
Indeks elemen yang akan dirujuk.
Return value
A const_reference ke karakter pada posisi yang ditentukan oleh indeks parameter.
Remarks
Elemen pertama memiliki indeks nol, dan elemen berikut diindeks secara berturut-turut oleh bilangan bulat positif, sehingga basic_string_view panjangnya n memiliki elemen *n*th yang diindeks oleh angka n-1.
operator[] lebih cepat daripada fungsi at anggota untuk menyediakan akses baca ke elemen basic_string_view.
operator[] tidak memeriksa apakah indeks yang diteruskan sebagai argumen valid. Indeks yang tidak valid diteruskan untuk operator[] menghasilkan perilaku yang tidak terdefinisi.
Referensi yang dikembalikan mungkin tidak valid jika data string yang mendasar dimodifikasi atau dihapus oleh objek pemilik.
Saat mengkompilasi dengan _ITERATOR_DEBUG_LEVEL diatur ke 1 atau 2, kesalahan runtime akan terjadi jika Anda mencoba mengakses elemen di luar batas basic_string_view. For more information, see Checked Iterators.
basic_string_view::rbegin
Mengembalikan iterator const ke elemen pertama dalam terbalik basic_string_view.
constexpr const_reverse_iterator rbegin() const noexcept;
Return value
Mengembalikan iterator akses acak ke elemen pertama dalam terbalik basic_string_view, membahas apa yang akan menjadi elemen terakhir dalam yang tidak terbalik basic_string_viewyang sesuai.
Remarks
rbegin digunakan dengan terbalik basic_string_view seperti begin yang digunakan dengan basic_string_view.
rbegin dapat digunakan untuk menginisialisasi iterasi mundur.
basic_string_view::remove_prefix
Memindahkan penunjuk ke depan dengan jumlah elemen yang ditentukan.
constexpr void remove_prefix(size_type n);
Remarks
Membiarkan data yang mendasar tidak berubah.
basic_string_view Memindahkan penunjuk ke depan oleh n elemen dan mengatur anggota data privat size ke size - n.
basic_string_view::remove_suffix
Mengurangi ukuran tampilan dengan jumlah elemen yang ditentukan mulai dari belakang.
constexpr void remove_suffix(size_type n);
Remarks
Membiarkan data dan penunjuk yang mendasar ke data tersebut tidak berubah. Mengatur anggota data privat size ke size - n.
basic_string_view::rend
Mengembalikan iterator const yang menunjuk ke satu melewati elemen terakhir dalam terbalik basic_string_view.
constexpr reverse_iterator rend() const noexcept;
Return value
Iterator const akses acak terbalik yang menunjuk ke satu melewati elemen terakhir dalam terbalik basic_string_view.
Remarks
rend digunakan dengan terbalik basic_string_view seperti end yang digunakan dengan basic_string_view.
rend dapat digunakan untuk menguji apakah iterator terbalik telah mencapai akhir basic_string_view. Nilai yang dikembalikan oleh rend tidak boleh didereferensikan.
basic_string_view::rfind
basic_string_view Mencari secara terbalik untuk substring yang cocok dengan urutan karakter tertentu.
constexpr size_type rfind(basic_string_view str, size_type offset = npos) const noexcept;
constexpr size_type rfind(charT chVal, size_type offset = npos) const noexcept;
constexpr size_type rfind(const charT* ptr, size_type offset, size_type count) const;
constexpr size_type rfind(const charT* ptr, size_type offset = npos) const;
Parameters
chVal
Nilai karakter yang fungsi anggotanya akan dicari.
offset
Indeks di mana pencarian akan dimulai.
ptr
String C yang fungsi anggotanya akan dicari.
count
Jumlah karakter, menghitung maju dari karakter pertama, dalam string C yang fungsi anggotanya akan dicari.
str
fungsi basic_string_view anggota yang akan dicari.
Return value
Indeks karakter pertama substring saat berhasil; jika tidak npos.
basic_string_view::size
Mengembalikan jumlah elemen dalam basic_string_view.
constexpr size_type size() const noexcept;
Return value
Panjang basic_string_view.
Remarks
Dapat basic_string_view memodifikasi panjangnya, misalnya dengan remove_prefix dan remove_suffix. Karena ini tidak memodifikasi data string yang mendasar, ukuran basic_string_view data yang mendasar belum tentu merupakan ukuran data yang mendasar.
basic_string_view::starts_with
Periksa apakah tampilan string dimulai dengan awalan yang ditentukan.
bool starts_with(const CharType c) const noexcept;
bool starts_with(const CharType* const x) const noexcept;
bool starts_with(const basic_string_view sv) const noexcept;
Parameters
c
Awalan karakter tunggal yang akan dicari.
sv
Tampilan string yang berisi awalan untuk dicari.
Anda dapat meneruskan std::basic_string, yang mengonversi ke tampilan string.
x
String karakter null-terminated yang berisi awalan yang akan dicari.
Return value
true jika string dimulai dengan awalan yang ditentukan; false Sebaliknya.
Remarks
starts_with() baru di C++20. Untuk menggunakannya, tentukan opsi pengkompilasi atau yang /std:c++20 lebih baru.
Lihat ends_with untuk melihat apakah string diakhiri dengan akhiran.
Example
// Requires /std:c++20 or later
#include <string>
#include <iostream>
int main()
{
std::cout << std::boolalpha; // so booleans show as 'true'/'false'
std::cout << std::string_view("abcdefg").starts_with('b') << '\n';
std::cout << std::string_view("abcdefg").starts_with("aBc") << '\n';
std::basic_string<char> str2 = "abc";
std::cout << std::string_view("abcdefg").starts_with(str2);
return 0;
}
false
false
true
basic_string_view::substr
Mengembalikan basic_string_view yang mewakili (paling banyak) jumlah karakter yang ditentukan dari posisi yang ditentukan.
constexpr basic_string_view substr(size_type offset = 0, size_type count = npos) const;
Parameters
offset
Indeks yang menemukan elemen pada posisi dari mana salinan dibuat, dengan nilai default 0.
count
Jumlah karakter yang akan disertakan dalam substring, jika ada.
Return value
Objek basic_string_view yang mewakili subsekuen elemen yang ditentukan.
basic_string_view::swap
Bertukar dua basic_string_views, dengan kata lain penunjuk ke data string yang mendasar, dan nilai ukuran.
constexpr void swap(basic_string_view& sv) noexcept;
Parameters
sv
Sumber basic_string_view yang nilai penunjuk dan ukurannya akan ditukar dengan tujuan basic_string_view.