일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 오블완
- Vector
- Smart Pointer
- 상속
- reference
- 언리얼
- 영화
- c++
- UE4
- 영화 리뷰
- implicit conversion
- 메타테이블
- effective stl
- 예외
- 게임
- 루아
- 스마트 포인터
- Effective c++
- 비교 함수 객체
- resource management class
- lua
- 참조자
- operator new
- 반복자
- 다형성
- 암시적 변환
- virtual function
- 티스토리챌린지
- more effective c++
- exception
- Today
- Total
목록for_each (2)
스토리텔링 개발자
항목 37. 범위 내의 데이터 값을 요약하거나 더하는 데에는 accumulate나 for_each를 사용하자 범위 요약(summarize)예를 들자면컨테이너 string 요소들의 길이의 총합을 구한다.주어진 범위의 숫자들의 곱을 구한다.좌표 등 2차원 이상의 값들의 평균을 구한다. 헤더에 있는 수치 알고리즘인 accumulate을 사용하자. accumulateaccumulate의 첫 번째 형태두 개의 반복자와 초기값을 인자로 받는다.범위 내의 값의 합 + 초기 값을 반환한다.list ld;...double sum = accumulate(ld.begin(), ld.end(), 0.0);// 0.0을 초기값으로 주었기에, 합을 double로 하여 정상값이 리턴된다.double sum = accum..
항목 7. new로 생성한 포인터의 컨테이너를 사용할 때에는 컨테이너가 소멸되기 전에 포인터를 delete하는 일을 잊지 말자 컨테이너의 메모리 해제보통의 경우 컨테이너는 요소의 메모리 해제를 잘 해 주지만..new로 할당된 객체 포인터의 경우 이야기가 다르다.void doSomething(){ vector vwp; for(int i = 0 ; i vwp의 각 요소, 포인터 자체는 소멸되지만, 포인터가 가리키는 공간은 전혀 해제되지 않는다.즉, 아래와 같이 해주어야 한다.void doSomething(){ vector vwp; ... // 예전과 동일 // 해제 처리를 해주어야 한다. for(vector::iterator i = vwp.begin(); i != ..