Bagikan melalui


Operator <string_view>

Gunakan operator ini untuk membandingkan dua string_view objek, atau string_view dan beberapa objek string lainnya (misalnya std::string, atau char*) tempat konversi implisit disediakan.

operator!=
operator>
operator>=
operator<
operator<<
operator<=
operator==
operator""sv

operator!=

Menguji apakah objek di sisi kiri operator tidak sama dengan objek di sisi kanan.

template <class CharType, class Traits>
bool operator!=(
    const basic_string_view<CharType, Traits>& left,
    const basic_string_view<CharType, Traits>& right);

template <class CharType, class Traits>
bool operator!=(
    const basic_string_view<CharType, Traits>& left,
    convertible_string_type right);

template <class CharType, class Traits>
bool operator!=(
    convertible_string_type left,
    const basic_string_view<CharType, Traits>& right);

Parameter

left
Jenis string yang dapat dikonversi atau objek jenis basic_string_view yang akan dibandingkan.

right
Jenis string yang dapat dikonversi atau objek jenis basic_string_view yang akan dibandingkan.

Tampilkan Nilai

true jika objek di sisi kiri operator tidak secara leksikografis sama dengan objek di sisi kanan; jika tidak false.

Keterangan

Konversi implisit harus ada dari convertible_string_type ke string_view sisi lain.

Perbandingan didasarkan pada perbandingan leksikografis berpasangan dari urutan karakter. Jika mereka memiliki jumlah elemen yang sama dan elemen semuanya sama, kedua objek sama. Jika tidak, mereka tidak setara.

operator==

Menguji apakah objek di sisi kiri operator sama dengan objek di sisi kanan.

template <class CharType, class Traits>
bool operator==(
    const basic_string_view<CharType, Traits>& left,
    const basic_string_view<CharType, Traits>& right);

template <class CharType, class Traits>
bool operator==(
    const basic_string_view<CharType, Traits>& left,
    convertible_string_type right);

template <class CharType, class Traits>
bool operator==(
    convertible_string_type left,
    const basic_string_view<CharType, Traits>& right);

Parameter

left
Jenis string yang dapat dikonversi atau objek jenis basic_string_view yang akan dibandingkan.

right
Jenis string yang dapat dikonversi atau objek jenis basic_string_view yang akan dibandingkan.

Tampilkan Nilai

true jika objek di sisi kiri operator secara leksikografis sama dengan objek di sisi kanan; jika tidak false.

Keterangan

Konversi implisit harus ada dari convertible_string_type ke string_view sisi lain.

Perbandingan didasarkan pada perbandingan leksikografis berpasangan dari urutan karakter. Jika mereka memiliki jumlah elemen yang sama dan elemen semuanya sama, kedua objek sama.

operator<

Menguji apakah objek di sisi kiri operator kurang dari objek di sisi kanan.

template <class CharType, class Traits>
bool operator<(
    const basic_string_view<CharType, Traits>& left,
    const basic_string_view<CharType, Traits>& right);

template <class CharType, class Traits>
bool operator<(
    const basic_string_view<CharType, Traits>& left,
    convertible_string_type right);

template <class CharType, class Traits>
bool operator<(
    convertible_string_type left,
    const basic_string_view<CharType, Traits>& right);

Parameter

left
Jenis string yang dapat dikonversi atau objek jenis basic_string_view yang akan dibandingkan.

right
Jenis string yang dapat dikonversi atau objek jenis basic_string_view yang akan dibandingkan.

Tampilkan Nilai

true jika objek di sisi kiri operator secara leksikografis kurang dari objek di sisi kanan; jika tidak false.

Keterangan

Konversi implisit harus ada dari convertible_string_type ke string_view di sisi lain.

Perbandingan didasarkan pada perbandingan leksikografis berpasangan dari urutan karakter. Ketika pasangan karakter pertama yang tidak sama ditemui, hasil perbandingan tersebut dikembalikan. Jika tidak ada karakter yang tidak sama yang ditemukan, tetapi satu urutan lebih pendek, urutan yang lebih pendek kurang dari yang lebih panjang. Dengan kata lain, "kucing" kurang dari "kucing".

Contoh

#include <string>
#include <string_view>

using namespace std;

int main()
{
    string_view sv1 { "ABA" };
    string_view sv2{ "ABAC" };
    string_view sv3{ "ABAD" };
    string_view sv4{ "ABACE" };

    bool result = sv2 > sv1; // true
    result = sv3 > sv2; // true
    result = sv3 != sv1; // true
    result = sv4 < sv3; // true because `C` < `D`
}

operator<=

Menguji apakah objek di sisi kiri operator kurang dari atau sama dengan objek di sisi kanan.

template <class CharType, class Traits>
bool operator<=(
    const basic_string_view<CharType, Traits>& left,
    const basic_string_view<CharType, Traits>& right);

template <class CharType, class Traits>
bool operator<=(
    const basic_string_view<CharType, Traits>& left,
    convertible_string_type right);

template <class CharType, class Traits>
bool operator<=(
    convertible_string_type left,
    const basic_string_view<CharType, Traits>& right);

Parameter

left
Jenis string yang dapat dikonversi atau objek jenis basic_string_view yang akan dibandingkan.

right
Jenis string yang dapat dikonversi atau objek jenis basic_string_view yang akan dibandingkan.

Tampilkan Nilai

true jika objek di sisi kiri operator secara leksikografis kurang dari atau sama dengan objek di sisi kanan; jika tidak false.

Keterangan

Lihat operator<.

operator<<

string_view Menulis ke dalam aliran output.

template <class CharType, class Traits>
inline basic_ostream<CharType, Traits>& operator<<(
    basic_ostream<CharType, Traits>& Ostr, const basic_string_view<CharType, Traits> Str);

Parameter

Ostr
aliran output yang ditulis.

Str
string_view yang akan dimasukkan ke dalam aliran output.

Tampilkan Nilai

aliran output yang ditulis.

Keterangan

Gunakan operator ini untuk menyisipkan konten string_view ke dalam aliran output, misalnya menggunakan std::cout.

operator>

Menguji apakah objek di sisi kiri operator lebih besar dari objek di sisi kanan.

template <class CharType, class Traits>
bool operator>(
    const basic_string_view<CharType, Traits>& left,
    const basic_string_view<CharType, Traits>& right);

template <class CharType, class Traits>
bool operator>(
    const basic_string_view<CharType, Traits>& left,
    convertible_string_type right);

template <class CharType, class Traits>
bool operator>(
    convertible_string_type left,
    const basic_string_view<CharType, Traits>& right);

Parameter

left
Jenis string yang dapat dikonversi atau objek jenis basic_string_view yang akan dibandingkan.

right
Jenis string yang dapat dikonversi atau objek jenis basic_string_view yang akan dibandingkan.

Tampilkan Nilai

true jika objek di sisi kiri operator secara leksikografis lebih besar dari string_view objek di sisi kanan; jika tidak false.

Keterangan

Lihat operator<.

operator>=

Menguji apakah objek di sisi kiri operator lebih besar dari atau sama dengan objek di sisi kanan.

template <class CharType, class Traits>
bool operator>=(
    const basic_string_view<CharType, Traits>& left,
    const basic_string_view<CharType, Traits>& right);

template <class CharType, class Traits>
bool operator>=(
    const basic_string_view<CharType, Traits>& left,
    convertible_string_type right);

template <class CharType, class Traits>
bool operator>=(
    convertible_string_type left,
    const basic_string_view<CharType, Traits>& right);

Parameter

left
Jenis string yang dapat dikonversi atau objek jenis basic_string_view yang akan dibandingkan.

right
Jenis string yang dapat dikonversi atau objek jenis basic_string_view yang akan dibandingkan.

Tampilkan Nilai

true jika objek di sisi kiri operator secara leksikografis lebih besar dari atau sama dengan objek di sisi kanan; jika tidak false.

Keterangan

Lihat operator<.

operator"" sv (string_view Harfiah)

Membangun string_view dari string harfiah. Memerlukan namespace std::literals::string_view_literalslayanan .

Contoh

using namespace std;
using namespace literals::string_view_literals;

    string_view sv{ "Hello"sv };
    wstring_view wsv{ L"Hello"sv };
    u16string_view sv16{ u"Hello"sv };
    u32string_view sv32{ U"Hello"sv };

Persyaratan

/std:c++17 atau yang lebih baru.

Lihat juga

<string_view>