연산자 '<' 정의 튜플에 대한 엄격한 약한 순서 지정
n-튜플이 엄격한 약한 순서 지정을 충족하려면 다음 기준을 충족해야 합니다.
부스트 라이브러리는 '<' 연산자를 사용하여 사전 정의된 튜플 클래스를 제공합니다. 엄격한 약한 순서를 준수하여 특정 컨텍스트에 대해 자신만의 연산자를 정의할 수 있습니다.
다음은 '<' 연산자를 구현하는 방법입니다. 수동:
struct S { ThingA a; ThingB b; }; bool operator<(S const& lhs, S const& rhs) { return std::make_tuple(lhs.a, lhs.b) < std::make_tuple(rhs.a, rhs.b); }
이 예에서는 std::make_tuple 함수를 활용하여 S의 개별 요소를 복사하지 않고 튜플을 만듭니다. 그런 다음 일반 튜플 비교 연산자를 사용하여 튜플을 비교합니다.
연산자 '=='의 경우 유사한 접근 방식을 따를 수 있습니다.
bool operator==(S const& lhs, S const& rhs) { return std::make_tuple(lhs.a, lhs.b) == std::make_tuple(rhs.a, rhs.b); }
이러한 구현에서는 ThingA와 ThingB에는 자체 연산자 '<'가 있습니다. 엄격한 약한 순서 지정을 위해 정의된 연산자 '=='입니다.
위 내용은 `를 정의하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!