초보자가 이해하긴 어려운 내용이 다수 있지만, 전반적으로 짜임새 있게 구성되어 있는 좋은 책입니다.
일단 C 언어나 C++ 기초지식이 있는 분이 들어야 한다고 생각합니다.
예제 코드를 분석하면서 내용을 정리하는 방식이라서, 코드를 볼 줄 아는 분들이 보셔야 한다고 생각이 드네요.
라이브러리 중심으로 배우는 C++ 핵심
이 책은 C++ 프로그램 작성 방법을 빠르게 배우고 싶은 분을 위해 C++의 가장 유용한 부분을 골라 담았습니다. 또한 C++의 기반이 되는 C를 배우지 않고도 자연스럽게 C++ 프로그램을 작성할 수 있게 합니다.
일반적으로 C++ 입문서는 문법을 다룹니다. 하지만 이 책은 문법뿐만 아니라 좋은 예제로 생산성 높은 프로그래밍 방법을 알려줍니다. 더 자연스럽고 효과적으로 C++를 배우고 다루기를 원하는 사람을 진정한 C++ 프로그래밍의 세계로 안내합니다.
이 책의 특징
1. 핵심 개념을 적용하면서 발전시키는 학생 성적 관리 프로그램 만들기
이 책은 학생 성적 관리 프로그램을 만들고 이를 C++ 개념으로 발전시켜나가는 과정으로 C++ 프로그래밍을 제대로 이해할 수 있도록 도와줍니다. 처음에 만든 학생 성적 관리 프로그램을 C++와 객체지향 프로그래밍 방식으로 수정하다 보면 C++ 프로그래밍이 무엇인지 자연스럽게 알 수 있습니다.
2. 핵심 정리로 배운 내용 다지기
각 장의 끝에는 해당 장에서 배운 내용을 정리하는 핵심 정리가 있습니다. 배운 내용을 확실하게 내 것으로 만들고 싶다면 핵심 정리를 꼭 살펴보기 바랍니다. 또한 이 책을 읽은 후 해당 개념을 다시 기억하고 싶을 때라면 핵심 정리를 가장 먼저 펼쳐보세요.
3. 연습문제를 풀면서 다지는 응용 기술 습득
해당 장과 연계된 내용을 다양한 방식으로 응용해 프로그래밍할 수 있는 연습문제를 수록했습니다. 쉬운 문제부터 어려운 문제까지 차례로 해결하다 보면 C++ 프로그래밍에 자연스레 익숙해질 수 있습니다.
대상 독자
CHAPTER 0 C++ 시작하기
0.1 주석
0.2 #include
0.3 main 함수
0.4 중괄호
0.5 표준 라이브러리를 사용한 출력
0.6 반환문
0.7 더 깊이 살펴보기
0.8 핵심 정리
연습문제
CHAPTER 1 문자열 사용
1.1 입력
1.2 테두리
1.3 핵심 정리
연습문제
CHAPTER 2 반복문과 카운팅
2.1 해결해야 하는 문제
2.2 전체적인 구조
2.3 주어진 개수만큼 행 출력하기
2.4 행 출력하기
2.5 프로그램 완성하기
2.6 카운팅
2.7 핵심 정리
연습문제
CHAPTER 3 데이터 일괄 처리
3.1 학생의 최종 점수 계산하기
3.2 평균값 대신 중앙값 사용하기
3.3 핵심 정리
연습문제
CHAPTER 4 프로그램 및 데이터 구조화
4.1 연산 구조화
4.2 데이터 구조화
4.3 프로그램 통합하기
4.4 성적 산출 프로그램 분할하기
4.5 수정된 성적 산출 프로그램
4.6 핵심 정리
연습문제
CHAPTER 5 순차 컨테이너와 문자열 분석
5.1 학생 분류
5.2 반복자
5.3 인덱스 대신 반복자 사용하기
5.4 더 나은 성능을 위한 데이터 구조
5.5 리스트 타입
5.6 문자열 분할
5.7 split 함수 테스트
5.8 문자열 결합
5.9 핵심 정리
연습문제
CHAPTER 6 라이브러리 알고리즘
6.1 문자열 분석
6.2 성적 산출 방식 비교
6.3 학생 분류 다시 살펴보기
6.4 알고리즘, 컨테이너, 반복자
6.5 핵심 정리
연습문제
CHAPTER 7 연관 컨테이너
7.1 효율적인 탐색을 위한 컨테이너
7.2 단어의 빈도
7.3 상호 참조 테이블
7.4 문장 만들기
7.5 성능에 대한 참고 사항
7.6 핵심 정리
연습문제
CHAPTER 8 제네릭 함수
8.1 제네릭 함수
8.2 데이터 구조 독립성
8.3 입력 및 출력 반복자
8.4 융통성을 위한 반복자 사용
8.5 핵심 정리
연습문제
CHAPTER 9 새로운 타입 정의
9.1 Student_info 다시 살펴보기
9.2 클래스 타입
9.3 보호 레이블
9.4 Student_info 클래스
9.5 생성자
9.6 Student_info 클래스 사용하기
9.7 핵심 정리
연습문제
CHAPTER 10 메모리 관리 및 저수준 데이터 구조
10.1 포인터와 배열
10.2 문자열 리터럴 다시 살펴보기
10.3 문자 포인터 배열의 초기화
10.4 main 함수의 인수
10.5 파일 읽기 및 쓰기
10.6 메모리 관리
10.7 핵심 정리
연습문제
CHAPTER 11 추상 데이터 타입
11.1 Vec 클래스
11.2 Vec 클래스 구현하기
11.3 복사 제어
11.4 동적인 Vec
11.5 유연한 메모리 관리
11.6 핵심 정리
연습문제
CHAPTER 12 값처럼 동작하는 클래스 객체
12.1 간단한 문자열 클래스
12.2 자동 변환
12.3 Str 연산
12.4 주의해야 할 변환
12.5 변환 연산자
12.6 변환 및 메모리 관리
12.7 핵심 정리
연습문제
CHAPTER 13 상속과 동적 바인딩
13.1 상속
13.2 다형성과 가상 함수
13.3 상속을 사용하여 문제 해결하기
13.4 핸들 클래스
13.5 핸들 클래스 사용하기
13.6 미묘한 사항들
13.7 핵심 정리
연습문제
CHAPTER 14 메모리 관리 자동화
14.1 핸들 클래스
14.2 참조 카운트
14.3 데이터 공유를 결정할 수 있는 핸들 클래스
14.4 Ptr 핸들 클래스 개선하기
14.5 핵심 정리
연습문제
CHAPTER 15 문자 그림 다시 살펴보기
15.1 설계
15.2 구현
15.3 핵심 정리
연습문제
CHAPTER 16 앞으로 나아갈 방향
16.1 추상화 사용하기
16.2 다음 학습 단계
연습문제
APPENDIX A C++ 세부 사항
A.1 선언문
A.2 타입
A.3 표현식
A.4 실행문
APPENDIX B 라이브러리 요약
B.1 입출력
B.2 컨테이너와 반복자
B.3 알고리즘
숙련된 C++ 프로그래머로 가는 길잡이
C++는 기존 C에서 좀 더 발전한 프로그래밍 언어입니다. 하지만 C를 처음 배웠던 사람은 자칫 C++에서 제시하는 프로그래밍 방법이 아닌 C 프로그래밍을 하던 습관대로 프로그램을 만들려고 할지도 모릅니다.
이 책은 16개 장과 부록 2개를 통해 초중급 프로그래머가 C++를 C++답게 코딩하는 방법을 제대로 알려줍니다. C++ 표준 라이브러리를 이용해 함수, 데이터 구조, 클래스, 상속 등 객체지향 프로그래밍 개념으로 C++ 프로그래밍을 하는 방법을 순서대로 소개합니다.
또한 특정 문제를 해결하는 프로그램을 작성하는 과정 각각에 도움이 되는 C++ 및 표준 라이브러리의 기능을 소개하는 독특한 방식을 취합니다. 단순한 문법 파악이 아닌 프로그래밍하는 원리를 알 수 있는 학습 구조로 이루어져 있습니다. 프로그래밍 언어를 한 번이라도 학습한 적 있는 분, STL을 사용하여 C++ 프로그래밍의 속도를 높이고 싶은 분이라면 이 책으로 C++ 프로그래밍을 제대로 배우기 바랍니다.
IT CookBook, C++ 프로그래밍 기초 : 객체지향의 시작
성윤정 , 김태은
마크 그레고리
최호성