range based for
이번에 설명할 'range based for'는 'auto'와 더불어 C++11의 기능 중 유용하면서도 사용하기 쉽고 자주 사용하는 기능이다. range based for를 사용하면 반복문을 아주 쉽고 안전하게 사용할 수 있다.
<for문, range based for문 비교>
<range based for문에서 STL 컨테이너 사용>
<참조 사용하기>
enum
enum은 C++에서 이미 사용하고 있는 키워드다. 그러나 C++11에서는 C++03표준과 달리 'unscoped enumeration' 과 'scoped enumeration' 두종류의 enum으로 바뀌었다.
nullptr
nullptr은 C++11에서 추가된 키워드로, '널 포인터(NullPointer)'를 뜻한다.
nullptr이 필요한 이유
C++03까지는 널 포인터를 나타내기 위해 NULL 매크로나 상수 0을 사용했다. 그러나 NULL매크로나 상수 0을 사용하여 함수에 인자로 넘기면 int형으로 추론되어버리는 문제가 발생하기도 한다.
<함수 인자 추론 문제>
nullptr 사용방법
출처 : Thinking About C++ STL 프로그래밍 (최홍배 지음)
'C++ > STL' 카테고리의 다른 글
14. 메모리관리2 (unique_ptr) (0) | 2017.10.18 |
---|---|
13. 메모리관리1 (shared_ptr) (0) | 2017.10.16 |
11. C++11 기초 1(auto, 람다(lambda) ) (0) | 2017.10.12 |
10. 범용 수치 알고리즘(accumulate, inner_product) (0) | 2017.10.11 |
9. 정렬 관련 알고리즘(sort, binary_search, merge) (0) | 2017.10.10 |