알찬 예제와 구성으로 필요한 내용을 빨리 파악할 수 있어서 좋았습니다.
C++ 프로그래머를 위한 C++11 STL 가이드
C++은 아직도 건재하다. 여전히 게임 개발에서 C++을 주력 언어로 사용하고 있다. 심지어 모바일에서도 사용하고 있는데, 이는 안드로이드(NDK), IOS, Windows 8 등의 멀티 플랫폼을 대응해야 하는 개발 프로젝트에서는 C++로 개발하는 것이 가장 성능이 좋기 때문이다.
2011년 8월에 발표된 C++ 11은 C++ 프로그래밍 언어의 차세대 표준으로, 아직 실무에 완전히 적용되지는 않았지만 활용도가 높아지고 있는 프로그래밍 언어다. 현재 대부분 플랫폼에서 100%는 아니라도 꽤 높은 수준으로 C++11을 지원하므로, 새로운 표준에 맞게 C++11에 기반을 두고 프로그래밍하는 것이 좋다. 그리고 STL은 C++의 '표준 템플릿 라이브러리'로 일반적으로 많이 사용하는 자료구조나 알고리즘을 모은 라이브러리다. STL을 사용하면 프로그래밍 시간이 많이 단축할 수 있어, C++ 프로그래밍 능력을 높이기 위해 꼭 알아야 할 기능이다.
이 도서는 『Think About: C++ STL 프로그래밍』(한빛미디어, 2012년 12월)의 후속 도서로, C++11에 맞추어 새롭게 추가된 STL 내용 중 실무에서 사용빈도가 높은 것만을 선별하여 알려준다. C++ STL을 어느 정도 알고 있는 개발자라면, 이 도서를 통해서 C++11 STL의 내용을 빠르게 훑어볼 수 있을 것이다.
대상 독자
C++11 STL에 추가된 기능을 예제를 통해서 빠르게 익혀보자!
이 도서는 C++ 프로그래밍 언어의 차세대 표준인 C++11 STL에 추가된 기능이나 문법 등을 예제를 통해서 빠르게 배운다. 간결하지만 기능이나 문법의 특징을 잘 보여주는 예제를 통해서, 쉽고 빠르게 C++11 STL을 배울 수 있다. 이 도서는 C++ 문법을 하나하나 처음부터 설명하는 도서가 아니므로, C++의 기본적인 문법은 알고 있어야 한다. 그리고 이 도서에서 사용하는 컴파일러인 Visual C++을 사용하여 C++ 프로젝트를 만들고 빌드, 디버깅할 수 있어야 한다.
이 도서는 필자의 전작인 『Thinking About: C++ STL 프로그래밍』(한빛미디어, 2012년 12월)에서 설명하고 있는 내용을 알고 있는 사람을 기준으로 설명하고 있다. STL에 대해 잘 알지 못하는 분들은 무료로 제공하는 『Thinking About: C++ STL 프로그래밍』(한빛미디어, 2012년 12월)을 보고 나서 이 도서를 보길 바란다.
1장. C++11 기초
1.1 auto
1.2 람다
1.3 range base for
1.4 enum
1.5 nullptr
2장. 메모리 관리
2.1 shared_ptr
2.2 unique_ptr
3장. tuple
3.1 tuple이 필요할 때
3.2 tuple 사용하기
3.3 더 간단하게 tuple 정의하기
3.4 tuple에 저장한 데이터 개수 알기
3.5 tuple의 요소를 한꺼번에 다른 변수에 담기
3.6 tuple과 tuple 합치기
4장. array
4.1 array 사용하기
4.2 요소 접근
4.3 array의 크기 알기
4.4 fill을 사용하여 특정 값 채우기
5장. forward_list
5.1 forward_list를 만든 이유
5.2 forward_list 사용하기
5.3 데이터 추가하기
5.4 데이터 삭제하기
5.5 정렬
5.6 중복 제거
5.7 합치기
6장. unordered_map
6.1 unordered_map 사용하기
6.2 데이터 추가와 삭제
6.3 검색
6.4 검색 - 없으면 추가하기
6.5 클래스(혹은 구조체)를 key로 사용
7장. chrono
7.1 chrono 사용하기
7.2 시간 단위
7.3 시간 연산
7.4 clock 클래스
8장. std::thread
8.1 스레드 만들기
8.2 스레드가 종료 될 때까지 기다리기
8.3 스레드 식별자와 스레드 교환
8.4 스레드 떼어내기, 스레드 종료 대기 가능 조사
8.5 하드웨어 스레드 개수 알기
8.6 스레드 일시 중지 및 양보하기
8.7 thread 객체를 join, detach 하지 않고 파괴했을 때
9장. 동기화 객체
9.1 공유 객체 동기화하기
9.2 자동으로 락 풀기
9.3 반복하여 락 걸기
9.4 지정한 시간 동안만 락 시도하기
9.5 unique_lock
9.6 복수의 mutex 객체를 동시에 락 걸기
9.7 프로그램에서 딱 한번만 실행하기
9.8 스레드마다 데이터 저장하기
9.9 이벤트를 사용한 동기화 객체
9.10 스레드 대기
10장. std::atomic
10.1 lock-free로 공유 자원 조작하기
10.2 초기화, 읽고 쓰기
10.3 연산 조작
10.4 바꾸기, 비교 후 바꾸기
11장. async/future
11.1 함수를 비동기로 실행하기
11.2 std::thread에서 비동기로 함수 실행
11.3 비동기 task
자료명 | 등록일 | 다운로드 |
---|---|---|
예제소스 | 2020-10-30 | 다운로드 |
리얼타임 eBook 안내
PDF 형식으로 제공되며, 다운로드한 eBook은 PDF 포맷을 지원하는 디바이스 또는 프로그램에서 제한없이 열람할 수 있습니다. 또한 eBook 내의 텍스트 검색 및 인쇄도 가능합니다.