[초보자를 위한 C++200제] 책 정오표
이 포스팅은 책에서 나오는 오타 및 잘못된 부분이 발견될 때마다 공지하는 공간입니다.
1. 본문 오타
- 챕터 : 1 C++ 프로그래밍 시작하기
- 페이지 : 23
- 내용 : std:: 누락
수정 전
std::cout << “Hello C++ World!” << endl;
수정 후
std::cout << “Hello C++ World!” << std::endl;
- 챕터 : 10 배열 배우기([크기])
- 페이지 : 40
- 내용 : 오타
수정 전
각괄호 안에는 변수를 이용해 크기를 지정할 수 있고,
수정 후
각괄호 안에는 상수를 이용해 크기를 지정할 수 있고,
- 챕터 : 23 증감 연산자 이해하기(++, –)
- 페이지 : 65
- 내용 : 오타
수정 전
2가 출력됩니다. 12라인과 마찬가지로 먼저 사용한 뒤 증가합니다.
수정 후
2가 출력됩니다. 9라인과 마찬가지로 먼저 사용한 뒤 증가합니다.
- 챕터 : 25 논리 연산자 이해하기 (and(&&), or(||), not(!))
- 페이지 : 68
- 내용 : 오타
수정 전
if (is_x = true && is_y = true)
수정 후
if (is_x == true && is_y == true)
- 챕터 : 26 조건부 삼항 연산자 이해하기( ? : )
- 페이지 : 71
- 내용 : 오타
수정 전
z는 1항, x > y는 2항, 결과값을 나타내는 x : y는 3항입니다.
이 경우 x > z 조건이 true이기 때문에 x값을 z에 할당합니다.
수정 후
x > y는 1항, 앞의 결과값(true) x는 2항, 뒤의 결과값(false) y는 3항입니다.
이 경우 x > z 조건이 true이기 때문에 y값을 z에 할당합니다.
- 챕터 : 30 명시적 변환 이해하기( ( ) )
- 페이지 : 78
- 내용 : 오타
수정 전
괄호() 안에 자료형을 넣어 명시적으로 변환하는 방법으로, int를 char로도 변경할 수 있습니다.
수정 후
함수 int() 안에 double 변수를 인자로 전달하여 int로 변환합니다. double 형식 이름만으론 변환할 대상이 명확치 않으므로, 23.4란 값을 보유한 double형 변수 number2를 인자로 전달합니다.
- 챕터 : 35 순환문으로 특정 문자 개수 구하기(for)
- 페이지 : 87, 88
- 내용 : 라인 번호 오류
수정 전
8~10
12
13
15~19
수정 후
8~11
13
14
16~20
- 챕터 : 50 무작위로 문자열과 배열 섞기(random_shuffle)
- 페이지 : 113
- 내용 : string 인클루드 오류
수정 후
4 : #include <string>
- 챕터 : 67 숫자를 문자열로 변환하기 (to_string)
- 페이지 : 14, 15
- 내용 : 변수 오류
수정 전
cout << “number1 : ” << number1 << end;
cout << “number2 : ” << number2 << end;
수정 후
cout << “number1 : ” << no_str1<< end;
cout << “number2 : ” << no_str2 << end;
- 챕터 : 183 Not a Number(NAN) 확인하기(isnan)
- 페이지 : 367
- 내용 : [13~16 라인 설명] 실행 결과 오타
수정 전
0 나누기 0은 정상적인 연산이 아니기 때문에 false가 리턴됩니다.
수정 후
0 나누기 0은 정상적인 연산이 아니기 때문에 true가 리턴됩니다.
- 챕터 : 120 함수 오버로딩 이해하기
- 페이지 : 245
- 내용 : 오타
수정 전
오버로딩 특징은 함수 이름이 같고, 인자 종류와 개수가 다르며, 리턴값 또한 다릅니다.
수정 후
오버로딩 특징은 함수 이름이 같고, 인자 종류와 개수가 다릅니다.
2. #include 오류 (불필요한 부분 삭제)
- 챕터 : 50 무작위로 문자열과 배열 섞기 (random_shuffle)
- 페이지 : 113
- 내용 : 3번 라인 #include <algorithm>
- 챕터 : 61 문자열에서 특정 문자만 제거하기 (erase, remove)
- 페이지 : 132
- 내용 : #include <algorithm> 빠짐
- 챕터 : 65 문자열 정렬하기(sort)
- 페이지 : 139
- 내용 : #include <algorithm> 빠짐
3. cout 오류
- 챕터 : 53 문자열 비교하기 (string.compare)
- 페이지 : 119
- 내용 : 문자열 비교 결과 바뀜
수정 전
1234 if (seven_war.compare(korea_war) == 0)cout << “다른 문자열입니다\n”;elsecout << “같은 문자열입니다\n”;cs
수정 후
1234 if (seven_war.compare(korea_war) == 0)cout << “같은 문자열입니다\n”;elsecout << “다른 문자열입니다\n”;cs