일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- UE4
- 티스토리챌린지
- 비교 함수 객체
- 언리얼
- c++
- 예외
- 메타테이블
- 영화 리뷰
- 루아
- exception
- 게임
- 오블완
- resource management class
- 상속
- more effective c++
- 반복자
- Smart Pointer
- lua
- operator new
- implicit conversion
- 영화
- effective stl
- Effective c++
- 참조자
- 암시적 변환
- 스마트 포인터
- 다형성
- Vector
- virtual function
- reference
- Today
- Total
목록비교 함수 (2)
스토리텔링 개발자
항목 42. less는 operator less의 기본 동작아래처럼 기본적으로 무게로 정렬되는 Widget이 있다.class Widget{public: ... size_t weight() const; size_t maxSpeed() const; // 무게로 정렬되는 operator헌데, 최대 속도(maxSpeed)를 가지고 정렬하는 multiset을 만들고 싶다면?multiset의 기본 비교 함수는 less이다.하지만, less은 기본적으로 Widget 객체 두 개에 대해 operator 문제 해결하기(잘못된 예)템플릿 특수화로 less과 operator// 템플릿 특수화로 처리한다.templatestruct std::less{ bool operator()(cons..
항목 21. 연관 컨테이너용 비교 함수는 같은 값에 대해 false를 반환해야 한다 같은 값 처리set > s; // 이 경우 처리 순서를 보면..내부 데이터 구조를 뒤지면서 10B를 삽입할 위치를 찾는다.10B가 10A와 같은지 operator!(10A set은 10A와 10B가 동등하지 않다는 결론을 내린다.즉, 비교 함수가 같은 값에 false를 리턴하면 10을 다시 넣으려고 시도하게 된다.(오류)같은 값에 대해 true를 반환하는 비교함수는 모두 이런 결과를 만든다. 주의 사항operator!를 사용하는 비교 연산자 반전을 조심할 것struct StringPtrGreater{ bool operator()(const string* ps1, const string* ps2) const ..