일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 비교 함수 객체
- implicit conversion
- Effective c++
- UE4
- 예외
- resource management class
- 암시적 변환
- 티스토리챌린지
- effective stl
- 반복자
- reference
- operator new
- c++
- 루아
- exception
- lua
- 게임
- 상속
- 언리얼
- Vector
- 스마트 포인터
- 오블완
- more effective c++
- 영화 리뷰
- 영화
- 메타테이블
- Smart Pointer
- virtual function
- 다형성
- 참조자
- Today
- Total
목록연관 컨테이너 (2)
스토리텔링 개발자
항목 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 ..
항목 20. 포인터를 저장하는 연관 컨테이너에 대해서는 적합한 비교(비교 함수 객체) 타입을 정해주자 연관 컨테이너 문제set ssp;ssp.insert(new string("Anteater"));ssp.insert(new string("Wombat"));ssp.insert(new string("Lemur"));ssp.insert(new string("Penguin"));for(set::const_iterator i = ssp.begin() ; i != ssp.end() ; ++i){ cout set에 들어있는 값은 포인터이기에 출력물은 16진수 네 개가 한 줄씩 나올 뿐이다.아래와 같이 한다면?// ssp의 문자열을 cout으로 복사한다. 하지만..copy(ssp.begin(), ssp.end..