이미 소장하고 있다면 판매해 보세요.
[PART I 전문가를 위한 C++ 첫걸음]
CHAPTER 1 C++와 표준 라이브러리 초단기 속성 코스 _1.1 C++의 기초 _1.2 어느 정도 규모 있는 첫 C++ 프로그램 _1.3 정리 _1.4 연습 문제 CHAPTER 2 스트링과 스트링 뷰 다루기 _2.1 동적 스트링 _2.2 스트링 포맷 지정 _2.3 정리 _2.4 연습 문제 CHAPTER 3 코딩 스타일 _3.1 코딩 스타일의 중요성 _3.2 코드 문서화 _3.3 코드 분해 _3.4 명명 규칙 _3.5 언어의 기능에 스타일 적용하기 _3.6 코드 서식 _3.7 스타일과 관련하여 해결할 문제 _3.8 정리 _3.9 연습 문제 [PART II 전문가다운 C++ 소프트웨어 설계 방법] CHAPTER 4 전문가답게 C++ 프로그램 설계하기 _4.1 프로그램 설계의 정의 _4.2 프로그램 설계의 중요성 _4.3 C++에 적합한 설계 방법 _4.4 C++ 설계에 관련된 두 가지 원칙 _4.5 코드 재사용 _4.6 체스 프로그램 설계 _4.7 정리 _4.8 연습 문제 CHAPTER 5 객체지향 설계 _5.1 절차형 사고방식 _5.2 객체지향 철학 _5.3 클래스 세상에 살기 _5.4 클래스 관계 _5.5 정리 _5.6 연습 문제 CHAPTER 6 재사용을 고려한 설계 _6.1 재사용 철학 _6.2 코드를 재사용할 수 있도록 설계하는 방법 _6.3 정리 _6.4 연습 문제 [PART III 전문가답게 C++ 코딩하기] CHAPTER 7 메모리 관리 _7.1 동적 메모리 다루기 _7.2 배열과 포인터의 두 얼굴 _7.3 로우레벨 메모리 연산 _7.4 흔히 발생하는 메모리 관련 문제 _7.5 스마트 포인터 _7.6 정리 _7.7 연습 문제 CHAPTER 8 클래스와 객체 이해 _8.1 스프레드시트 예제 _8.2 클래스 작성 방법 _8.3 객체의 라이프 사이클 _8.4 정리 _8.5 연습 문제 CHAPTER 9 클래스와 객체 완전 정복 _9.1 프렌드 _9.2 객체에 동적 메모리 할당하기 _9.3 메서드의 종류 _9.4 데이터 멤버의 종류 _9.5 중첩 클래스 _9.6 클래스에 열거 타입 정의하기 _9.7 연산자 오버로딩 _9.8 안정된 인터페이스 만들기 _9.9 정리 _9.10 연습 문제 CHAPTER 10 상속 활용하기 _10.1 상속을 이용한 클래스 구현 _10.2 코드 재사용을 위한 상속 _10.3 부모를 공경하라 _10.4 다형성을 위한 상속 _10.5 다중 상속 _10.6 상속에 관련된 미묘하면서 흥미로운 문제들 _10.7 캐스트 _10.8 정리 _10.9 연습 문제 CHAPTER 11 C++의 까다롭고 유별난 부분 _11.1 모듈 _11.2 헤더 파일 _11.3 언어 핵심 기능에 대한 테스트 매크로 _11.4 static 키워드 _11.5 C 유틸리티 _11.6 정리 _11.7 연습 문제 CHAPTER 12 템플릿으로 제네릭 코드 만들기 _12.1 템플릿 소개 _12.2 클래스 템플릿 _12.3 함수 템플릿 _12.4 변수 템플릿 _12.5 콘셉트 _12.6 정리 _12.7 연습 문제 CHAPTER 13 C++ I/O 심층 분석 _13.1 스트림 사용법 _13.2 스트링 스트림 _13.3 파일 스트림 _13.4 양방향 I/O _13.5 파일시스템 지원 라이브러리 _13.6 정리 _13.7 연습 문제 CHAPTER 14 에러 처리 _14.1 에러와 예외 _14.2 익셉션 처리 방법 _14.3 익셉션과 다형성 _14.4 익셉션 다시 던지기 _14.5 스택 풀기와 정리 _14.6 익셉션 처리 과정에서 흔히 발생하는 문제 _14.7 정리 _14.8 연습 문제 CHAPTER 15 C++ 연산자 오버로딩 _15.1 연산자 오버로딩 개요 _15.2 산술 연산자 오버로딩 _15.3 비트 연산자와 논리 연산자 오버로딩 _15.4 스트림 입력과 출력 연산자 오버로딩 _15.5 인덱스 연산자 오버로드하기 _15.6 함수 호출 연산자 오버로드하기 _15.7 역참조 연산자 오버로드하기 _15.8 변환 연산자 구현하기 _15.9 메모리 할당 및 해제 연산자 오버로딩 _15.10 사용자 정의 리터럴 연산자 오버로딩 _15.11 정리 _15.12 연습 문제 CHAPTER 16 C++ 표준 라이브러리 둘러보기 _16.1 코드 작성 원칙 _16.2 C++ 표준 라이브러리 둘러보기 _16.3 정리 _16.4 연습 문제 CHAPTER 17 반복자와 범위 라이브러리 _17.1 반복자 _17.2 스트림 반복자 _17.3 반복자 어댑터 _17.4 범위 _17.5 정리 _17.6 연습 문제 CHAPTER 18 표준 라이브러리 컨테이너 _18.1 컨테이너 개요 _18.2 순차 컨테이너 _18.3 컨테이너 어댑터 _18.4 정렬 연관 컨테이너 _18.5 비정렬 연관 컨테이너 - 해시 테이블 _18.6 기타 컨테이너 _18.7 정리 _18.8 연습 문제 CHAPTER 19 함수 포인터, 함수 객체, 람다 표현식 _19.1 함수 포인터 _19.2 메서드 및 데이터 멤버를 가리키는 포인터 _19.3 std::function _19.4 함수 객체 _19.5 람다 표현식 _19.6 std::invoke( ) _19.7 정리 _19.8 연습 문제 CHAPTER 20 표준 라이브러리 알고리즘 완전 정복 _20.1 알고리즘 개요 _20.2 표준 라이브러리 알고리즘 심층 분석 _20.3 정리 _20.4 연습 문제 CHAPTER 21 스트링 현지화와 정규 표현식 _21.1 현지화 _21.2 정규 표현식 _21.3 정리 _21.4 연습 문제 CHAPTER 22 날짜와 시간 유틸리티 _22.1 컴파일 시간 유리수 _22.2 duration _22.3 clock _22.4 time_point _22.5 날짜 _22.6 타임존 _22.7 정리 _22.8 연습 문제 CHAPTER 23 무작위수 기능 _23.1 C 스타일 무작위수 생성 _23.2 무작위수 엔진 _23.3 무작위수 엔진 어댑터 _23.4 기본 제공 엔진과 엔진 어댑터 _23.5 무작위수 생성하기 _23.6 무작위수 분포 _23.7 정리 _23.8 연습 문제 CHAPTER 24 기타 라이브러리 유틸리티 _24.1 어휘 타입 _24.2 tuple _24.3 정리 _24.4 연습 문제 [PART IV C++ 고급 기능 마스터하기] CHAPTER 25 표준 라이브러리 커스터마이즈 및 확장 방법 _25.1 할당자 _25.2 표준 라이브러리 확장하기 _25.3 정리 _25.4 연습 문제 CHAPTER 26 고급 템플릿 _26.1 템플릿 매개변수에 대한 심화 학습 _26.2 클래스 템플릿 부분 특수화 _26.3 오버로딩으로 함수 템플릿 부분 특수화 흉내내기 _26.4 템플릿 재귀 _26.5 가변 인수 템플릿 _26.6 메타프로그래밍 _26.7 정리 _26.8 연습 문제 CHAPTER 27 C++ 멀티스레드 프로그래밍 _27.1 들어가며 _27.2 스레드 _27.3 아토믹 연산 라이브러리 _27.4 뮤텍스 _27.5 상태 변수 _27.6 래치 _27.7 배리어 _27.8 세마포어 _27.9 퓨처 _27.10 멀티스레드 Logger 클래스 예제 _27.11 스레드 풀 _27.12 코루틴 _27.13 바람직한 스레드 디자인과 구현을 위한 가이드라인 _27.14 정리 _27.15 연습 문제 [PART V C++ 소프트웨어 공학] CHAPTER 28 소프트웨어 공학 기법 _28.1 프로세스의 필요성 _28.2 소프트웨어 라이프 사이클 모델 _28.3 소프트웨어 공학 방법론 _28.4 나만의 프로세스와 방법론 만들기 _28.5 소스 코드 관리 _28.6 정리 _28.7 연습 문제 CHAPTER 29 효율적인 C++ 코드 작성법 _29.1 성능과 효율에 대하여 _29.2 언어 수준의 효율 _29.3 설계 수준 효율 _29.4 프로파일링 _29.5 정리 _29.6 연습 문제 CHAPTER 30 테스트 숙달하기 _30.1 품질 관리 _30.2 단위 테스트 _30.3 퍼징 _30.4 하이레벨 테스트 _30.5 성공적인 테스트를 위한 팁 _30.6 정리 _30.7 연습 문제 CHAPTER 31 디버깅 완전 정복 _31.1 디버깅 기본 원칙 _31.2 버그 분류 _31.3 버그 방지 _31.4 버그 대비 _31.5 디버깅 테크닉 _31.6 정리 _31.7 연습 문제 CHAPTER 32 설계 기법과 프레임워크 _32.1 흔히 사용하지만 까먹기 쉬운 문법 _32.2 고급 기법 _32.3 객체지향 프레임워크 _32.4 정리 _32.5 연습 문제 CHAPTER 33 디자인 패턴 _33.1 의존성 주입 _33.2 추상 팩토리 패턴 _33.3 팩토리 메서드 패턴 _33.4 어댑터 패턴 _33.5 프록시 패턴 _33.6 반복자 패턴 _33.7 옵저버 패턴 _33.8 데코레이터 패턴 _33.9 책임 사슬 패턴 _33.10 싱글턴 패턴 _33.11 정리 _33.12 연습 문제 CHAPTER 34 크로스 플랫폼과 크로스 언어 애플리케이션 개발 방법 _34.1 크로스 플랫폼 개발 _34.2 크로스 언어 개발 _34.3 정리 _34.4 연습 문제 [PART VI 부록] APPENDIX A C++ 면접 예상 질문 APPENDIX B 참고 문헌 APPENDIX C 표준 라이브러리 헤더 파일 APPENDIX D UML 기초 |
저마크 그레고리
관심작가 알림신청Marc Gregoire
역남기혁
관심작가 알림신청남기혁의 다른 상품
C++ 전문가를 꿈꾸는 프로그래머에게 전하는 희소식!
최신 C++를 마스터하려면 알아야 할 C++와 C++20의 모든 것 C++ 전문가가 되는 데 필요한 내용을 조목조목 옮긴 책이다. 코드 품질과 프로그래밍 효율을 동시에 높이는 C++ 프로그래밍 기법을 소개한다. 특히 C++20부터 새로 추가된 기능을 이 책 전반에 걸쳐 소개한다. 이러한 기능은 별도 장이나 절로 따로 빼서 한꺼번에 설명하는 대신, 각 장에 관련된 부분이 있을 때마다 하나씩 소개하며 각 장의 예제도 새로운 기능을 활용하도록 업데이트했다. 이 책은 단순히 언어의 문법과 기능만 소개하는 데 머물지 않는다. 프로그래밍 방법론, 재사용 가능한 디자인 패턴, 바람직한 프로그래밍 스타일도 함께 다룬다. 특히 코드를 설계하고 작성하는 단계부터 디버깅하고 협업하는 단계에 이르는 전반적인 소프트웨어 개발 프로세스에 따라 설명한다. 그 과정에서 C++ 언어 자체의 기능과 특이한 점을 마스터할 수 있고, 대규모 소프트웨어 개발을 위한 강력한 기법을 익힐 수 있다. 이 책을 제대로 읽는다면 제대로 알려지지 않았거나 잘못 이해하기 쉬운 기능을 제대로 파악함으로써 C++에 대한 지식의 폭을 넓힐 수 있다. 또한 객체지향 설계 방식을 이해하고 최신 디버깅 기술도 익힐 수 있다. 나아가 일상 개발 업무에 당장 적용할 수 있는 재사용성 관련 기법을 풍부하게 갖출 수 있다. C++20 기반의 더 나은 C++ 프로그래머가 될 수 있는 절호의 기회를 놓치지 않길 바란다. 대상 독자 - C++를 수년 동안 사용한 경험이 있는 개발자 - C++의 고급 기능에 익숙하지 않거나 사용한 적이 없는 개발자 - C++ 실력을 전문가 수준으로 끌어올리고 싶은 중급 개발자 - C++로 설계하는 방법이나 바람직한 프로그래밍 스타일이 궁금한 사람 - C++ 경험은 부족하지만 처음부터 올바르게 배우고 싶은 사람 주요 내용 - C++의 방대한 기능을 최대한 활용하여 효과적인 솔루션을 개발할 수 있도록 C ++ 사고방식을 제시한다. - 어설프게 알고 있거나 실수하기 쉬운 부분을 바로잡고 효율과 성능을 높이는 다양한 팁과 기법, 우회 전략을 소개한다. - 당장 프로젝트에서 마주치고 적용할 수 있는 현실적인 문제와 프로그램 예제를 소개한다. - 모듈, 콘셉트, 3방향 비교, 즉시 실행 함수를 비롯한 C++20부터 새로 추가된 기능을 소개한다. - 텍스트 포매팅, 범위, 아토믹 스마트 포인터, 동기화 요소, 날짜, 시간대 등 C++20부터 새로워진 표준 라이브러리의 주요 기능을 심도 있게 살펴본다. |