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 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 요구 사항을 충족하지 못합니다.