일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 오블완
- 다형성
- operator new
- 메타테이블
- c++
- 함수 객체
- 암시적 변환
- 스마트 포인터
- 영화 리뷰
- 언리얼
- 게임
- Smart Pointer
- 루아
- 영화
- virtual function
- effective stl
- 예외
- Effective c++
- 반복자
- 참조자
- lua
- UE4
- 티스토리챌린지
- exception
- reference
- resource management class
- more effective c++
- Today
- Total
목록remove (2)
스토리텔링 개발자
항목 33. remove와 비슷한 알고리즘을 포인터의 컨테이너에 적용할 때에는 각별히 조심하자 포인터 요소 제거품질 보증 함수를 기준으로 벡터의 Widget 포인터 요소를 삭제하는 코드class Widget{public:... bool isCertified() const; // Widget의 품질이 확실한가...};vector v;...v.push_back(new Widget);...// 품질 보증이 되지 않은 Widget 객체 삭제// mem_fun(항목 41 참조)v.erase(remove_if(v.begin(), v.end(), not1(mem_fun(&Widget::isCertified))), v.end());만약 remove_if 호출 전 상황이 아래와 같다면remove_if 호출 후에..
항목 9. 데이터를 삭제할 때에도 조심스럽게 선택할 것이 많다 특정 요소 삭제하기컨테이너의 요소 중 1963이라는 값을 모두 삭제하고 싶다면?컨테이너 종류에 따라 삭제 방법이 다르다.연속 메모리(시퀀스) 컨테이너(vector, deque, string)erase-remove 합성문// erase-remove 합성문// remove : 제거한 요소들을 컨테이너 뒤로 이동시킨다.// 마지막 유효한 값 다음 반복자를 리턴한다.// 컨테이너의 크기는 변하지 않는다.// erase : 반복자 및 반복자의 범위를 컨테이너에서 제거한다.// 삭제된 요소 다음 반복자를 리턴한다.// 컨테이너의 크기가 변한다.c.erase(remove(c.begin(), ..