더 쉽게, 더 빠르게, 더 깔끔하게
프로그래머가 알아야 할 C++와 C++11의 모든 것!
프로그래밍을 더 효율적으로 바꿔주는 C++11
nullptr가 0(NULL)을 대체한다. func(0)이 숫자 0을 전달하는지, 널을 전달하는지 고민해야 하고, 0이 언제 다른 값으로 바뀔지 몰라 두려움에 떨었다면 nullptr로 그런 고민을 날려 버리자. nullptr는 타입 안전성을 보장하고 int로 변환되지 않는다. C++11에는 function, unique_ptr, shared_ptr, ref, cref, reference_wrapper처럼 프로그래밍을 더 효율적으로, 실수는 더 적게 해줄 도구가 가득하다. auto, 생성자 상속, decltype과 같은 새로운 기능 덕분에 초기화 리스트, 템플릿, 별칭, rvalue 참조, 기본값 함수, 가변인자 템플릿과 같은 고급 추상화가 가능해졌다. C++11은 두려움의 대상이 아니라 작업을 더 빠르게 해줄 수 있는 더 나은 언어다.
740개의 예제 코드로 설명한 C++의 모든 것
C++ 전문가가 되기 위해 필요한 내용을 조목조목 옮겼다. C++의 기본 기능에서 널리 알려지지 않았던 기능까지 설명한다. 오랜 역사를 지닌 C++ 언어에 대한 오해와 올바른 프로그래밍 방법을 소개한다. C++ 언어의 핵심 기능, 템플릿, 표준 라이브러리(STL), 문자열, 입출력과 같은 기본부터 제네릭 코드 작성, 타입 추론, 템플릿 재귀, 메타프로그래밍, 메모리 관리, 멀티스레드 같은 고급 기능까지 다룬다. 소프트웨어 엔지니어링 측면에서 알아야 할 버전 관리, 소프트웨어 개발 방법론, 코드 최적화, 테스팅, 디버깅, 프레임워크, 디자인 패턴까지 소개해 C++ 전문가가 되고 싶은 독자는 물론 현업 C++ 전문가도 전체 지식을 복습할 수 있게 했다.
주요 내용
3부: C++ 고급 기능 마스터하기
18장. C++ 연산자 오버로딩
18.1. 연산자 오버로딩 개괄
18.2. 산술 연산자의 오버로딩
18.3. 비트 연산자, 논리 연산자의 오버로딩
18.4. 입출력 연산자(insertion/extraction operator)의 오버로딩
18.5. 서브스크립팅 연산자(subscripting operator)의 오버로딩
18.6. 함수 호출 연산자의 오버로딩
18.7. 역참조 연산자의 오버로딩
18.8. 변환 연산자 만들기
18.9. 메모리 할당/해제 연산자의 오버로딩
18.10. 요약
19장. 템플릿을 이용한 제네릭 코드의 작성
19.1. 템플릿 개괄
19.2. 템플릿 클래스
19.3. 함수 템플릿
19.4. 요약
20장. 고급 템플릿
20.1. 템플릿 파라미터 심화탐구
20.2. 템플릿 클래스의 부분 특수화
20.3. 오버로딩을 이용해 템플릿 함수의 부분 특수화 흉내내기
20.4. 재귀 템플릿
20.5. C++11 타입 추론
20.6. C++11 가변 인자 템플릿
20.7. 메타프로그래밍
20.8. 요약
21장. 효과적인 메모리 관리
21.1. 동적 메모리의 활용
21.2. 저수준 메모리 동작 메커니즘
21.3. 요약
22장. C++11 C++ 멀티스레드 프로그래밍
22.1. C++ 스레딩 라이브러리 소개
22.2. 아토믹 작업 라이브러리
22.3. 스레드
22.4. 멀티스레드 Logger 클래스 예제
22.5. 스레드 풀(Thread Pool)
22.6. 스레딩 디자인 요령
22.7. 요약
4부: C++ 소프트웨어 엔지니어링
23장. 여러 가지 소프트웨어 엔지니어링 방법론
23.1. 절차의 필요성
23.2. 소프트웨어 생명 주기(Life Cycle) 모델
23.3. 소프트웨어 엔지니어링 방법론
23.4. 나만의 개발 절차와 방법론 만들기
23.5. 소스 코드 관리
23.6. 요약
24장. 효율적인 C++ 코드 작성
24.1. 성능과 효율 개괄
24.2. 언어 수준 효율성
24.3. 디자인 수준 효율성
24.4. 프로파일링(Profiling)
24.5. 요약
25장. 크로스 플랫폼, 다중 언어 애플리케이션 개발
25.1. 크로스 플랫폼 개발
25.2. 복수의 언어를 이용한 개발(Cross Language Development)
25.3. 요약
26장. 테스트에 익숙해지기
26.1. 품질관리
26.2. 상위 수준 테스트
26.3. 효과적인 테스트 요령
26.4. 요약
27장. 디버깅 완전정복
27.1. 디버깅의 기본 원칙
27.2. 버그의 분류
27.3. 버그 방지
27.4. 버그 대응 계획
27.5. 디버깅 테크닉
27.6. 요약
28장. 디자인 테크닉과 프레임워크의 활용
28.1. "그 문법이 어떻게 됐었지? ..."
28.2. 항상 더 나은 방법이 있다.
28.3. 객체지향 프레임워크
28.4. 요약
29장. 디자인 패턴의 적용
29.1. 반복자 패턴(Iterator Pattern)
29.2. 싱글톤 패턴(Singleton pattern)
29.3. 팩토리 패턴(Factory Pattern)
29.4. 프록시 패턴(Proxy Pattern)
29.5. 어댑터 패턴(Adapter Pattern)
29.6. 데코레이터 패턴(Decorator Pattern)
29.7. 옵져버 패턴(Observer Pattern)
29.8. 요약
부록 A: C++ 인터뷰
부록 B. 참고 문헌
자료명 | 등록일 | 다운로드 |
---|---|---|
![]() |
2019-07-23 | 다운로드 |