Namespaces
Variants

std::char_traits<char>:: eq/lt, std::char_traits<wchar_t>:: eq/lt, std::char_traits<char8_t>:: eq/lt, std::char_traits<char16_t>:: eq/lt, std::char_traits<char32_t>:: eq/lt

From ko.cppreference.net
static bool eq ( char_type a, char_type b ) ;
(1) (C++11부터 constexpr)
(C++11부터 noexcept)
static bool lt ( char_type a, char_type b ) ;
(2) (C++11부터 constexpr)
(C++11부터 noexcept)

두 문자를 비교합니다.

1) a 와 b 의 동등성을 비교하며, 다음 중 하나와 동일하게 동작합니다:
  • static_cast < unsigned char > ( a ) == static_cast < unsigned char > ( b ) - char_type 이 char 인 경우,
  • a == b - 그 외의 경우.
2) a 와 b 를 완전히 순서화된 방식으로 비교하며, 다음 중 하나와 동일하게 동작합니다:
  • static_cast < unsigned char > ( a ) < static_cast < unsigned char > ( b ) - char_type 이 char 인 경우
  • a < b - 그 외의 경우

문자 특성에 대한 일반 요구사항은 CharTraits 를 참조하십시오. 이는 X::eq 와 X::lt 에 적용됩니다.

목차

매개변수

a, b - 비교할 문자 값

반환값

1) true 만약 a 와 b 가 같으면, false 그렇지 않으면.
2) true 만약 a 가 b 보다 작으면, false 그렇지 않으면.

복잡도

상수.

결함 보고서

다음의 동작 변경 결함 보고서들은 이전에 발표된 C++ 표준에 소급 적용되었습니다.

DR 적용 대상 게시된 동작 올바른 동작
LWG 467 C++98 std:: char_traits < char > 의 경우 eq() 와 lt() 의 의미론은
각각 내장 == 및 < 연산자와 char 에 대한 동일함 [1]
내장 == 및
< 연산자를 unsigned char 에 대한 것으로 변경
  1. ↑ 대부분의 구현체는 효율성을 위해 std::memcmp() 를 호출하며, 이는 데이터를 unsigned char 배열로 해석합니다. 만약 char 가 부호 있는 타입인 구현체에서는, std:: char_traits < char > 가 CharTraits 요구 사항을 충족하지 못합니다.