名稱空間
變體
操作

std::experimental::basic_string_view<CharT,Traits>::compare

來自 cppreference.com
 
 
實驗性
技術規範
檔案系統庫 (檔案系統 TS)
庫基礎 (庫基礎 TS)
庫基礎 2 (庫基礎 TS v2)
庫基礎 3 (庫基礎 TS v3)
並行性擴充套件 (並行性 TS)
並行性擴充套件 2 (並行性 TS v2)
併發性擴充套件 (併發性 TS)
併發擴充套件 2 (併發 TS v2)
概念 (概念 TS)
範圍 (範圍 TS)
反射 (反射 TS)
數學特殊函式 (特殊函式 TR)
實驗性非 TS
模式匹配
線性代數
std::execution
契約
2D 圖形
 
 
 
constexpr int compare(basic_string_view v) const noexcept;
(1) (庫基礎 TS)
constexpr int compare(size_type pos1, size_type count1,
                      basic_string_view v) const
(2) (庫基礎 TS)
constexpr int compare(size_type pos1, size_type count1, basic_string_view v,
                      size_type pos2, size_type count2) const;
(3) (庫基礎 TS)
constexpr int compare(const CharT* s) const;
(4) (庫基礎 TS)
constexpr int compare(size_type pos1, size_type count1,
                      const CharT* s) const;
(5) (庫基礎 TS)
constexpr int compare(size_type pos1, size_type count1,
                      const CharT* s, size_type count2) const;
(6) (庫基礎 TS)

比較兩個字元序列。

1) 要比較序列的長度 rlensize()v.size() 中較小者。函式透過呼叫 traits::compare(data(), v.data(), rlen) 來比較兩個檢視,並根據下表返回一個值
條件 結果 返回值
Traits::compare(data(), v.data(), rlen) < 0 this 小於 v <0
Traits::compare(data(), v.data(), rlen) == 0 size() < v.size() this 小於 v <0
size() == v.size() this 等於 v 0
size() > v.size() this 大於 v >0
Traits::compare(data(), v.data(), rlen) > 0 this 大於 v >0
2) 等價於 substr(pos1, count1).compare(v)
3) 等價於 substr(pos1, count1).compare(v.substr(pos2, count2))
4) 等價於 compare(basic_string_view(s))
5) 等價於 substr(pos1, count1).compare(basic_string_view(s))
6) 等價於 substr(pos1, count1).compare(basic_string_view(s, count2))

目錄

[編輯] 引數

v - 要比較的檢視
s - 指向要比較的字元字串的指標
count1 - 此檢視中要比較的字元數
pos1 - 此檢視中要比較的第一個字元的位置
count2 - 給定檢視中要比較的字元數
pos2 - 給定檢視中要比較的第一個字元的位置

[編輯] 返回值

如果此檢視小於其他字元序列,則為負值;如果兩個字元序列相等,則為零;如果此檢視大於其他字元序列,則為正值。

[編輯] 複雜度

1) 與比較的字元數呈線性關係。

[編輯] 另請參閱

按字典序比較兩個檢視
(函式模板) [編輯]