std::char_traits<char>::compare, std::char_traits<wchar_t>::compare, std::char_traits<char8_t>::compare, std::char_traits<char16_t>::compare, std::char_traits<char32_t>::compare
static int compare( const char_type* s1, const char_type* s2,
std::size_t count );
| (constexpr since C++17) |
Сравнивает первые count символов символьных строк s1 и s2. Сравнение выполняется лексикографически.
Если count равно нулю, строки считаются равными.
Общие требования к характеристикам символов для X::compare см. в разделе CharTraits.
Параметры
| s1, s2 | - | указатели на символьные строки для сравнения |
| count | - | количество символов для сравнения из каждой символьной строки |
Возвращаемое значение
Отрицательное значение, если s1 меньше s2.
0, если s1 равно s2.
Положительное значение, если s1 больше s2.
Сложность
Линейная относительно count.
Примечание
Возвращаемое значение определяется лексикографическим порядком. Формально возвращаемое значение определяется следующим образом:
- Если для каждого
iв[0,count)eq(s1[i], s2[i])равноtrue, вернуть0. - Иначе, если для некоторого
iв[0,count)lt(s1[i], s2[i])равноtrue, а для каждогоjв[0,i)eq(s1[j], s2[j])равноtrue, вернуть отрицательное значение. - Иначе вернуть положительное значение.
См. также
|
[static] | сравнивает два символа (открытая статическая функция-член) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/string/char_traits/compare