Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Sınıf şablonu basic_string_view<charT> C++17'de, bir işlevin ilgili olmayan çeşitli dize türlerini kabul edebilmesi için, işlevin bu türlerde şablon haline getirilmeye gerek kalmadan güvenli ve verimli bir şekilde çalışması için eklenmiştir. sınıfı, bitişik bir karakter veri dizisine sahip olmayan bir işaretçi ve dizideki karakter sayısını belirten bir uzunluk içerir. Dizinin null olarak sonlandırılıp sonlandırılmadığına ilişkin bir varsayım yapılmaz.
Standart kitaplık, öğelerin türüne göre çeşitli özelleştirmeler tanımlar:
string_viewwstring_viewu16string_viewu32string_view
, basic_string_view dize verilerini okumak için gereken en düşük ortak arabirimi açıklar. Temel alınan verilere en iyi erişimi sağlar; hiçbir kopya yapmaz (işlev dışında copy ). Veriler herhangi bir konumda null değerler (\0) içerebilir veya içermeyebilir. A basic_string_view , nesnenin ömrü üzerinde hiçbir denetime sahip değildir. Temel alınan dize verilerinin geçerli olduğundan emin olmak çağıranın sorumluluğundadır.
Türünde string_view bir parametre kabul eden bir işlev, işlevi şablon haline getirmeden veya işlevi dize türlerinin belirli bir alt kümesiyle kısıtlamadan dize benzeri herhangi bir türle çalışacak şekilde yapılabilir. Tek gereksinim, dize türünden öğesine örtük bir dönüştürmenin mevcut olmasıdır string_view. Tüm standart dize türleri, aynı öğe türünü içeren bir'e string_view örtük olarak dönüştürülebilir. Başka bir deyişle, a std::string bir'e string_view dönüştürülebilir, ancak öğesine wstring_viewdönüştürülemez.
Aşağıdaki örnekte, türünde fbir parametre alan şablon olmayan bir işlev wstring_view gösterilmektedir. , ve std::wstringtüründe wchar_t*winrt::hstringbağımsız değişkenlerle çağrılabilir.
// 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
içinde basic_string_viewdepolanan karakterlerin türü. C++ Standart Kitaplığı, bu şablonun özelleştirmeleri için aşağıdaki tür tanımlarını sağlar.
-
string_viewtür öğeleri içinchar -
wstring_viewiçinwchar_t -
u16string_viewiçinchar16_t -
u32string_viewiçinchar32_t.
Traits
varsayılan değeridir char_traits<CharType>.
Constructors
| Constructor | Description |
|---|---|
basic_string_view |
Boş olan veya başka bir basic_string_view dize nesnesinin verilerinin tümünü veya bir bölümünü ya da C stili bir karakter dizisini işaret eden bir oluşturur. |
Typedefs
| Type name | Description |
|---|---|
const_iterator |
Öğeleri okuyabilen const rastgele erişim yineleyicisi. |
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= |
Başka basic_string_viewbir basic_string_view öğesine veya dönüştürülebilir dize nesnesi atar. |
operator[] |
Belirtilen dizindeki öğesini döndürür. |
Member functions
| Member function | Description |
|---|---|
at |
const_reference Belirtilen konumdaki öğesine bir döndürür. |
back |
Son öğeye bir const_reference döndürür. |
begin |
İlk öğeyi ele alan bir const yineleyici döndürür. (basic_string_viewsabittir.) |
cbegin |
ile beginaynı. |
cend |
Son öğeyi geçene işaret eden bir const yineleyici döndürür. |
copy |
Bir kaynaktaki basic_string_view dizinlenmiş konumdan en fazla belirtilen sayıda karakteri hedef karakter dizisine kopyalar. (Önerilmez. Bunun yerine kullanın _Copy_s .) |
_Copy_s |
Güvenli CRT kopyalama işlevi. |
compare |
Eşit basic_string_view olup olmadığını veya birinin sözcüksel olarak diğerinden küçük olup olmadığını belirlemek için belirtilen basic_string_view ile karşılaştırır. |
crbegin |
ile rbeginaynı. |
crend |
ile rendaynı. |
data |
Karakter dizisine sahip olmayan ham bir işaretçi döndürür. |
empty |
öğesinin karakter içerip içermediğini sınar basic_string_view . |
end |
ile cendaynı. |
ends_with
C++20 |
Dize görünümünün belirtilen sonekle bitip bitmediğini denetleyin. |
find |
Belirtilen karakter dizisiyle eşleşen bir alt dizenin ilk geçtiği yeri ileri yönde arar. |
find_first_not_of |
Belirtilen basic_string_view veya dönüştürülebilir dize nesnesinin herhangi bir öğesi olmayan ilk karakteri arar. |
find_first_of |
Belirtilen basic_string_view veya dönüştürülebilir dize nesnesinin herhangi bir öğesiyle eşleşen ilk karakteri arar. |
find_last_not_of |
Belirtilen basic_string_view veya dönüştürülebilir dize nesnesinin herhangi bir öğesi olmayan son karakteri arar. |
find_last_of |
Belirtilen basic_string_view veya dönüştürülebilir dize nesnesinin öğesi olan son karakteri arar. |
front |
İlk öğeye bir const_reference döndürür. |
length |
Geçerli öğe sayısını döndürür. |
max_size |
İçerebileceği en fazla karakter basic_string_view sayısını döndürür. |
rbegin |
ters çevrilmiş constiçindeki basic_string_view ilk öğeyi ele alan bir yineleyici döndürür. |
remove_prefix |
İşaretçiyi belirtilen sayıda öğeyle ileri taşır. |
remove_suffix |
Görünümün boyutunu, arkadan başlayarak belirtilen sayıda öğeyle küçültür. |
rend |
Ters çevrilmiş constbir basic_string_view içindeki son öğeden birine işaret eden bir yineleyici döndürür. |
rfind |
basic_string_view Belirtilen karakter dizisiyle eşleşen bir alt dizenin ilk oluşumunu ters olarak arar. |
size |
Geçerli öğe sayısını döndürür. |
starts_with
C++20 |
Dize görünümünün belirli bir ön ekle başlayıp başlamadığını denetleyin. |
substr |
Belirtilen bir dizinden başlayarak belirtilen uzunlukta bir alt dize döndürür. |
swap |
İki basic_string_view nesnenin içeriğini değiştirme. |
Remarks
Bir işlevden öğelerden daha max_size uzun bir dizi oluşturması istenirse, işlevi türünde length_errorbir nesne oluşturarak bir uzunluk hatası bildirir.
Requirements
/std:c++17 veya üzerini seçin.
Header:<string_view>
Namespace:std
basic_string_view::at
Belirtilen sıfır tabanlı dizindeki karaktere bir const_reference döndürür.
constexpr const_reference at(size_type offset) const;
Parameters
offset
Başvurulacak öğenin dizini.
Return value
Parametre dizini tarafından belirtilen konumdaki karaktere A const_reference .
Remarks
İlk öğenin dizini sıfırdır ve aşağıdaki öğeler pozitif tamsayılar tarafından ardışık olarak dizinlenir, böylece uzunluk basic_string_viewn sayısı tarafından ndizinlenmiş *n - 1*. öğesi olur.
at aksine operator[]geçersiz dizinler için bir özel durum oluşturur.
Genel olarak ve at gibi std::vector diziler için hiçbir zaman kullanılmaması önerilirbasic_string_view. Bir diziye geçirilen geçersiz dizin, geliştirme sırasında bulunması ve düzeltilmesi gereken bir mantık hatasıdır. Bir program dizinlerinin geçerli olduğundan emin değilse, bunları test etmeli, dikkatsiz programlamaya karşı savunmak için özel durumları çağırmalı at() ve güvenmemelidir.
Daha fazla bilgi için bkz. 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
Son öğeye bir const_reference döndürür.
constexpr const_reference back() const;
Return value
içindeki const_reference son öğeye basic_string_viewA
Remarks
boşsa basic_string_view bir özel durum oluşturur.
Örneğin çağrısıyla basic_string_viewbir remove_suffix değiştirildikten sonra, bu işlev tarafından döndürülen öğenin artık temel alınan verilerdeki son öğe olmadığını unutmayın.
Example
string_view C dizesi değişmez değeriyle yapılan bir, sonlandırıcı null değerini içermez. Bu nedenle aşağıdaki örnekte döndürür back'p' ve döndürmez '\0'.
char c[] = "Help"; // char[5]
string_view sv{ c };
cout << sv.size(); // size() == 4
cout << sv.back() << endl; // p
Eklenmiş null değerler başka bir karakter olarak kabul edilir:
string_view e = "embedded\0nulls"sv;
cout << boolalpha << (e.back() == 's'); // true
basic_string_view::basic_string_view
bir basic_string_viewoluşturur.
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
Karakter değerlerinin işaretçisi.
len
Görünüme eklenecek karakter sayısı.
Remarks
parametresine sahip charT* oluşturucular girişin null olarak sonlandırıldığını, ancak sonlandırıcı null değerinin basic_string_viewöğesine dahil olmadığını varsayar.
Değişmez değerle de basic_string_view oluşturabilirsiniz. Bkz. operator"" sv.
basic_string_view::begin
ile cbeginaynı.
constexpr const_iterator begin() const noexcept;
Return value
İlk öğeyi ele alan bir const_iterator döndürür.
basic_string_view::cbegin
Aralıktaki ilk öğeyi ele alan bir const_iterator döndürür.
constexpr const_iterator cbegin() const noexcept;
Return value
Aralığın const ilk öğesini veya boş aralığın sonunun hemen ötesindeki konumu işaret eden rastgele erişim yineleyicisi (boş aralık için). cbegin() == cend()
basic_string_view::cend
const_iterator Bir aralıktaki son öğenin hemen ötesindeki konumu ele alan bir döndürür.
constexpr const_iterator cend() const noexcept;
Return value
const Aralığın sonunun hemen ötesine işaret eden rastgele erişim yineleyicisi.
Remarks
tarafından cend döndürülen değer başvurulmamalıdır.
basic_string_view::compare
belirtilen basic_string_view (veya dönüştürülebilir dize türü) ile büyük/küçük harfe duyarlı bir karşılaştırma yapar ve iki nesnenin eşit olup olmadığını veya birinin sözcüksel olarak diğerinden küçük olup olmadığını belirler. İşleçler <string_view> karşılaştırmalar yapmak için bu üye işlevini kullanır.
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
Bu basic_string_view ile karşılaştırılacak basic_string_viewolan .
pos
Karşılaştırmanın başladığı bunun basic_string_view dizini.
num
Karşılaştırılacak karakter basic_string_view sayısı üst sınırı.
num2
Karşılaştırılacak karakter strv sayısı üst sınırı.
offset
Karşılaştırmanın strv başladığı dizin.
ptr
Bu basic_string_viewile karşılaştırılacak C dizesi.
Return value
- Veya
basic_string_viewdeğerinden küçüksestrvnegatif bir değerptr - İki karakter dizisi eşitse sıfır
- Bu
basic_string_viewdeğer veya değerinden büyüksestrvpozitif bir değerptr
Remarks
Üye işlevleri, compare her karakter dizisinin tümünün veya bir bölümünün büyük/küçük harfe duyarlı karşılaştırmasını yapar.
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
Bir kaynaktaki basic_string_view dizinlenmiş konumdan en fazla belirtilen sayıda karakteri hedef karakter dizisine kopyalar. Bunun yerine secure işlevini basic_string_view::_Copy_s kullanmanızı öneririz.
size_type copy(charT* ptr, size_type count, size_type offset = 0) const;
Parameters
ptr
Öğelerin kopyalandığı hedef karakter dizisi.
count
Kaynaktan basic_string_viewen fazla kopyalanacak karakter sayısı.
offset
Kaynakta basic_string_view kopyaların oluşturulacağı başlangıç konumu.
Return value
Kopyalanan karakter sayısı.
Remarks
Null karakter, kopyanın sonuna eklenmez.
basic_string_view::_Copy_s
yerine copykullanılacak güvenli CRT kopyalama işlevi.
size_type _Copy_s(
value_type* dest,
size_type dest_size,
size_type count,
size_type _Off = 0) const;
Parameters
dest
Öğelerin kopyalandığı hedef karakter dizisi.
dest_size
boyutu dest.
count Kaynak dizeden en fazla kopyalanacak karakter sayısı.
_Off
Kaynak dizede kopyaların oluşturulacağı başlangıç konumu.
Return value
Kopyalanan karakter sayısı.
Remarks
Null karakter, kopyanın sonuna eklenmez.
For more information, see c-runtime-library/security-features-in-the-crt.
basic_string_view::crbegin
const_reverse_iterator ters çevrilmiş basic_string_viewiçindeki ilk öğeyi ele alan bir döndürür.
constexpr const_reverse_iterator crbegin() const noexcept;
Return value
const_reverse_iterator Ters çevrilmiş basic_string_viewiçindeki ilk öğeyi ele alan bir .
basic_string_view::crend
ile rendaynı.
constexpr const_reverse_iterator crend() const noexcept;
Return value
Ters çevrilmiş const_reverse_iteratorbir basic_string_view öğesinin sonunu geçene yönelik bir döndürür.
basic_string_view::data
oluşturmak basic_string_viewiçin kullanılan nesnenin en sabit karakter dizisine sahip olmayan ham bir işaretçi döndürür.
constexpr value_type *data() const noexcept;
Return value
Karakter dizisinin ilk öğesi için işaretçiden sabite.
Remarks
İşaretçi karakterleri değiştiremez.
Karakter dizisi null basic_string_view olarak sonlandırılmamış olabilir. hiçbir null karakter eklenemediğinden, için data dönüş türü geçerli bir C dizesi değil. Null karakterin \0 türündeki basic_string_view bir nesnede özel bir anlamı yoktur ve diğer karakterler gibi nesnenin basic_string_view bir parçası olabilir.
basic_string_view::empty
öğesinin basic_string_view karakter içerip içermediğini sınar.
constexpr bool empty() const noexcept;
Return value
true nesne karakter basic_string_view içermiyorsa; false en az bir karakter içeriyorsa.
Remarks
Üye işlevi () == 0 ile sizeeşdeğerdir.
basic_string_view::end
Son öğeyi geçene işaret eden rastgele bir erişim const_iterator döndürür.
constexpr const_iterator end() const noexcept;
Return value
Son öğeyi geçene işaret eden rastgele bir erişim const_iterator döndürür.
Remarks
end , öğesinin const_iterator sonuna basic_string_viewulaşıp ulaşmadığını test etmek için kullanılır. tarafından end döndürülen değer başvurulmamalıdır.
basic_string_view::ends_with
Dize görünümünün belirtilen sonekle bitip bitmediğini denetleyin.
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
Aranacak tek karakterli sonek.
sv
Aranacak son eki içeren bir dize görünümü.
bir geçirebilirsiniz std::basic_string. Bu, öğesine dönüştürür basic_string_view.
x
Aranacak son eki içeren null sonlandırılmış karakter dizesi.
Return value
true dize görünümü belirtilen sonekle bitiyorsa; false yoksa.
Remarks
ends_with() C++20 sürümünde yenidir. Bunu kullanmak için veya sonraki derleyici seçeneğini belirtin /std:c++20 .
Bir dize görünümünün belirtilen ön ekle başlayıp başlamadiğini denetlemek için bkz starts_with .
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 Belirtilen karakter dizisiyle eşleşen bir karakterin veya alt dizenin ilk geçtiği yeri ileri yönde arar.
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
basic_string_view Üye işlevinin arandığı işlev.
chVal
Üye işlevinin aranacak karakter değeri.
offset
Aramanın başlayacağı dizin.
ptr
Üye işlevinin arandığı C dizesi.
count
içindeki ptrkarakter sayısı, ilk karakterden ileri doğru sayma.
Return value
Başarılı olduğunda alt dizenin ilk karakterinin dizini arandı; aksi takdirde npos.
basic_string_view::find_first_not_of
Belirtilen basic_string_view veya dönüştürülebilir dize nesnesinin öğesi olmayan ilk karakteri arar.
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
basic_string_view Üye işlevinin arandığı işlev.
chVal
Üye işlevinin aranacak karakter değeri.
offset
Aramanın başlayacağı dizin.
ptr
Üye işlevinin arandığı C dizesi.
count
Üye işlevinin arandığı C dizesindeki ilk karakterden ileri doğru sayılan karakter sayısı.
Return value
Başarılı olduğunda alt dizenin ilk karakterinin dizini arandı; aksi takdirde npos.
basic_string_view::find_first_of
Belirtilen basic_string_viewöğesinin herhangi bir öğesiyle eşleşen ilk karakteri arar.
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
Üye işlevinin aranacak karakter değeri.
offset
Aramanın başlayacağı dizin.
ptr
Üye işlevinin arandığı C dizesi.
count
Üye işlevinin arandığı C dizesindeki ilk karakterden ileri doğru sayılan karakter sayısı.
str
basic_string_view Üye işlevinin arandığı işlev.
Return value
Başarılı olduğunda alt dizenin ilk karakterinin dizini arandı; aksi takdirde npos.
basic_string_view::find_last_not_of
Belirtilen basic_string_viewöğesinin herhangi bir öğesi olmayan son karakteri arar.
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
basic_string_view Üye işlevinin arandığı işlev.
chVal
Üye işlevinin aranacak karakter değeri.
offset
Aramanın bitmek üzere olduğu dizin.
ptr
Üye işlevinin arandığı C dizesi.
count
içindeki ilk karakterden ileri doğru sayan karakter ptrsayısı.
Return value
Başarılı olduğunda alt dizenin ilk karakterinin dizini arandı; aksi takdirde string_view::npos.
basic_string_view::find_last_of
Belirtilen basic_string_viewöğesinin herhangi bir öğesiyle eşleşen son karakteri arar.
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
basic_string_view Üye işlevinin arandığı işlev.
chVal
Üye işlevinin aranacak karakter değeri.
offset
Aramanın bitmek üzere olduğu dizin.
ptr
Üye işlevinin arandığı C dizesi.
count
Üye işlevinin arandığı C dizesindeki ilk karakterden ileri doğru sayılan karakter sayısı.
Return value
Başarılı olduğunda alt dizenin aranan son karakterinin dizini; aksi takdirde npos.
basic_string_view::front
İlk öğeye bir const_reference döndürür.
constexpr const_reference front() const;
Return value
İlk öğeye A const_reference .
Remarks
boşsa basic_string_view bir özel durum oluşturur.
basic_string_view::length
Geçerli öğe sayısını döndürür.
constexpr size_type length() const noexcept;
Remarks
üye işlevi ile aynıdır size.
basic_string_view::max_size
İçerebileceği en fazla karakter basic_string_view sayısını döndürür.
constexpr size_type max_size() const noexcept;
Return value
Bir karakterin içerebileceği en fazla karakter basic_string_view sayısı.
Remarks
bir işlem uzunluğundan length_errorbüyük bir basic_string_view ürettiğinde tür max_size() özel durumu oluşur.
basic_string_view::operator=
Başka basic_string_viewbir basic_string_view öğesine veya dönüştürülebilir dize nesnesi atar.
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 Belirtilen dizine sahip karaktere bir sağlar.
constexpr const_reference operator[](size_type offset) const;
Parameters
offset
Başvurulacak öğenin dizini.
Return value
Parametre dizini tarafından belirtilen konumdaki karaktere A const_reference .
Remarks
İlk öğenin dizini sıfırdır ve aşağıdaki öğeler pozitif tamsayılar tarafından ardışık olarak dizinlenir, böylece uzunluk basic_string_viewn sayısı tarafından ndizinlenmiş bir *n-1*. öğesi olur.
operator[] , öğesinin öğelerine okuma erişimi sağlamak için üye işlevinden at daha hızlıdır basic_string_view.
operator[] bağımsız değişken olarak geçirilen dizinin geçerli olup olmadığını denetlemez. Geçersiz bir dizin geçirildiğinde operator[] tanımsız davranışla sonuçlanır.
Temel alınan dize verileri sahip olan nesne tarafından değiştirilir veya silinirse döndürülen başvuru geçersiz kılınabilir.
_ITERATOR_DEBUG_LEVEL ile 1 veya 2 olarak ayarlanırken, sınırlarının basic_string_viewdışındaki bir öğeye erişmeye çalıştığınızda çalışma zamanı hatası oluşur. For more information, see Checked Iterators.
basic_string_view::rbegin
Ters çevrilmiş constiçindeki ilk öğeye bir basic_string_view yineleyici döndürür.
constexpr const_reverse_iterator rbegin() const noexcept;
Return value
Ters çevrilmiş basic_string_viewiçindeki ilk öğeye rastgele erişim yineleyicisi döndürür ve karşılık gelen ters basic_string_viewçevrilmeyen içindeki son öğeyi ele alır.
Remarks
rbegin, ile kullanıldığı gibi basic_string_view ters çevrilmiş begin bir basic_string_viewile kullanılır.
rbegin bir yinelemeyi geriye doğru başlatmak için kullanılabilir.
basic_string_view::remove_prefix
İşaretçiyi belirtilen sayıda öğeyle ileri taşır.
constexpr void remove_prefix(size_type n);
Remarks
Temel alınan verileri değişmeden bırakır. İşaretçiyi basic_string_view öğelere göre n ileri taşır ve özel size veri üyesini olarak size - nayarlar.
basic_string_view::remove_suffix
Görünümün boyutunu, arkadan başlayarak belirtilen sayıda öğeyle küçültür.
constexpr void remove_suffix(size_type n);
Remarks
Temel alınan verileri ve işaretçiyi değişmeden bırakır. Özel size veri üyesini olarak size - nayarlar.
basic_string_view::rend
Ters çevrilmiş constbir basic_string_view içindeki son öğeden birine işaret eden bir yineleyici döndürür.
constexpr reverse_iterator rend() const noexcept;
Return value
Ters const çevrilmiş basic_string_viewbir içindeki son öğeden birine işaret eden ters rastgele erişim yineleyicisi.
Remarks
rend, ile kullanıldığı gibi basic_string_view ters çevrilmiş end bir basic_string_viewile kullanılır.
rend ters yineleyicinin sonuna basic_string_viewulaşıp ulaşmadığını test etmek için kullanılabilir. tarafından rend döndürülen değer başvurulmamalıdır.
basic_string_view::rfind
basic_string_view Belirtilen karakter dizisiyle eşleşen bir alt dizeyi tersten arar.
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
Üye işlevinin aranacak karakter değeri.
offset
Aramanın başlayacağı dizin.
ptr
Üye işlevinin arandığı C dizesi.
count
Üye işlevinin arandığı C dizesindeki ilk karakterden ileri doğru sayılan karakter sayısı.
str
basic_string_view Üye işlevinin arandığı işlev.
Return value
Başarılı olduğunda alt dizenin ilk karakterinin dizini; aksi takdirde npos.
basic_string_view::size
içindeki basic_string_viewöğe sayısını döndürür.
constexpr size_type size() const noexcept;
Return value
uzunluğunu gösterir basic_string_view.
Remarks
Abasic_string_view, örneğin ve remove_prefixile remove_suffix uzunluğunu değiştirebilir. Bu işlem temel alınan dize verilerini değiştirmediğinden, boyutunun basic_string_view temel alınan verilerin boyutu olması gerekmez.
basic_string_view::starts_with
Dize görünümünün belirtilen ön ekle başlayıp başlamadığını denetleyin.
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
Aranacak tek karakterli ön ek.
sv
Aranacak ön eki içeren bir dize görünümü.
dize görünümüne dönüştüren bir geçirebilirsiniz std::basic_string.
x
Aranacak ön eki içeren null sonlandırılmış karakter dizesi.
Return value
true dize belirtilen ön ek ile başlıyorsa; false yoksa.
Remarks
starts_with() C++20 sürümünde yenidir. Bunu kullanmak için veya sonraki derleyici seçeneğini belirtin /std:c++20 .
Bir dizenin sonekle bitip bitmediğini görmek için bkz ends_with .
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
basic_string_view Belirtilen konumdaki belirtilen karakter sayısını (en fazla) temsil eden bir döndürür.
constexpr basic_string_view substr(size_type offset = 0, size_type count = npos) const;
Parameters
offset
Varsayılan değeri 0 olan, kopyanın oluşturulduğu konumda öğeyi bulan dizin.
count
Varsa, alt dizeye eklenecek karakter sayısı.
Return value
basic_string_view Öğelerin belirtilen alt dizisini temsil eden nesne.
basic_string_view::swap
basic_string_viewİki s değerini, diğer bir deyişle işaretçileri temel alınan dize verilerine ve boyut değerlerini değiştirir.
constexpr void swap(basic_string_view& sv) noexcept;
Parameters
sv
İşaretçi ve boyut değerleri hedef basic_string_viewile değiştirilecek olan kaynakbasic_string_view.
See also
<string_view>
C++ Standart Kitaplığında İş Parçacığı Güvenliği