C++ Primer 5판 정오표

C++ Primer 5th 번역서에 대한 정오표입니다.

# 1쇄 오류

내용 도움 비고 날짜
112 (두 번째 문단, 2번째 줄)
다소 다르다는 점은 그리 중요하지 않다
->
다소 다르다는 점은 눈여겨 볼만 하다.
* 2013.6.13.
115 (마지막 문단 처음)
초기 값이 무엇인지 알고 개수가 적거나
->
초기 값이 무엇인지 알고 그 개수가 적거나
* 2013.6.13.
127 (첫 줄)
vector의 각 요소는 문장이나 단락이 나눠짐을 나타내는 빈 string 중 하나이다.
->
vector의 각 요소는 문장이거나 단락이 나눠짐을 나타내는 빈 string이다.
* 2013.6.14.
130 (연습문제)
3.42
->
3.24
* 2013.6.17.
135 (연습문제 3.31)
… 같은 값이 지정한다.
->
… 같은 값을 지정한다.
* 2013.6.17.
160 (밑에서 세 번째 문단)
… 이 경우 출력은 11이 된다. … 출력은 01이 된다.
->
… 이 경우 출력은 1 1이 된다. … 출력은 0 1이 된다.
* 2013.6.18.
237 (연습문제 6.5)
함수에서 받은 인자의 절대 값을…
->
인자의 절대 값을…
* 2013.7.3.
239 (연습문제 6.7)
… 순차열에 숫자를 …
->
… 차례로 숫자를 …
* 2013.7.4.
251 (6번째 줄)
이런 형식으로 프로그래밍 하는 방법은 2장에서 …
->
이런 형식으로 프로그래밍 하는 방법은 2부에서 …
* 2013.7.5.
254 (연습문제 6.21)
… 그 포인터에서 가리키는 값보다 …
->
… 그 포인터에서 가리키는 값 중 …
* 2013.7.5.
278 (연습문제 6.42)
make_plural의 두 번째 매개변수에 …
->
make_plural(6.3.2절)의 세 번째 매개변수에 …
* 2013.7.23.
323 (연습문제 7.24)
… 높이와 폭에 대한 값을 취하고 지정한 수의 공백 문자로 내용을 초기화하는 생성자, …
->
… 높이와 폭에 대한 값을 취하고 그 수만큼 공백 문자로 내용을 초기화하는 생성자, …
* 2013.8.27.
331 (밑에서 8번째 줄)
Screen 클래스에서는 ostream&를 자신의 프렌드로 취하는 StoreOn 버전을 만든다.
->
Screen 클래스에서는 ostream&를 취하는 storeOn 버전을 자신의 프렌드로 만든다.
* 2013.9.4.
332 (연습문제 7.32)
screen / window-mgr
->
Screen / Window_mgr
* 2013.9.4.
333 (밑에서 두 번째 단락, 마지막 문장)
같은 이유로 함수 본체 안에서 사용하는 Screens 역시…
->
같은 이유로 함수 본체 안에서 사용하는 screens 역시…
* 2013.9.10.
337 (Note 상자)
… this 포인터를 …
->
this 포인터를 …
 * 2013.9.10.
337 (가장 아래 코드)
void Screen::dummy_fcn(pos heigth)
->
void Screen::dummy_fcn(pos ht)
* 2013.9.10.
343 (마지막 문단)
… 확실히 그 책을 판매한 가격도 사용자가 지정하길 …
->
… 그 책을 판매한 가격도 사용자가 꼭 지정하길 …
* 2013.9.16.
343 (연습문제 7.36)
문제를 찾고 고친다.
->
문제를 찾아 고친다.
* 2013.9.16.
348 (아래에서 두 번째 문단)
사용자가 변환을 사용할 것 같은 경우에 stringSales_data로 변환했으면 한다.
->
stringSales_data로 변환하는 것이 바람직한지 여부는 사용자가 이 변환을 사용하는 것을 어떻게 생각하느냐에 따라 다르다.
* 2013.9.25.
349 (3번째 줄)
즉 값을 item에 추가한 후 버릴 객체를 효과적으로 생성했다.
->
사실상 그 값을 item에 더한 후 버리는 객체를 생성했다.
* 2013.9.25.
349 (중간 문단)
이제는 암시적으로 Sales_data 객체를 생성하는데,
->
이제는 암시적으로 Sales_data 객체를 생성하기 위해
* 2013.9.25.
349 (아래에서 두 번째 문단)
… 필요한 생성자는 암시적 변환를 수행하는 데…
->
… 필요한 생성자는 암시적 변환을 수행하는 데…
* 2013.9.25.
369 (아래에서 세 번째 줄)
값이 0임을 보장하는 …
->
이러한 값이 0임을 보장하는 …
* 2013.10.14.
393 (연습문제 9.4)
vector<int>와 int 값에 대한 반복자 쌍을 취하는…
->
vector<int>에 대한 반복자 쌍과 int 값을 취하는…
* 2013.10.17.
393 (아래에서 세 번째 줄)
이러한 타입 중 하나를 사용하려면 멤버로 속한 클래스…
->
이러한 타입 중 하나를 사용하려면 그 타입이 멤버로 속한 클래스…
* 2013.10.23.
405 (아래에서 세 번째 줄)
… 모든 위치를 참조할 수 있다. 이 반복자에서 컨테이너 끝을 …
->
… 모든 위치를 참조할 수 있고, 컨테이너 끝을 …
* 2013.10.29.
405 (아래에서 두 번째 줄)
… 할 수 있고, 컨테이너 처음에 요소를 …
->
… 할 수 있다. 컨테이너 처음에 요소를 …
* 2013.10.29.
406 (위에서 첫 째 줄)
… 요소 바로 앞에 값이 "Hello"인 …
->
… 요소 바로 앞에 값이 "Hello!"인 …
* 2013.10.29.
418 (밑에서 두 번째 줄)
… 반복자를 갱신하기 쉽다.
->
… 반복자를 갱신하는 것이 쉽다.
* 2013.11.18.
421 (Note 두 번째 줄)
… 할당하는지에만 영양을 준다.
->
… 할당하는지에만 영향을 준다.
* 2013.11.20.
454 (밑에서 네 번째 줄)
… 제거하지 않으므로 제거를 인용 부호 안에 넣었다.
->
… 제거하지 않으므로 제거란 말에 인용 부호를 붙였다.
* 2013.11.29.
474 (역방향 반복자 설명)
… 앞이 아니라 뒤로 이동한다.
->
… 앞에서 뒤로가 아니라 뒤에서 앞으로 이동한다.
* 2014.2.13.
489 (밑에서 7번째줄)
pred에서 반환한 0이 아닌 값을 찾는다.
->
pred에서 0이 아닌 값을 반환하는 값을 찾는다.
* 2014.2.25.
717 (밑에서 1번째줄)
또한 컴파일러에서는 D1f3도 거부하는데 가상 함수만 재정의했기 때문이다.
->
가상 함수만 재정의할 수 있으므로 컴파일러에서는 D1f3도 거부한다.
* 2014.4.25.
781 (첫 번째 코드)
if (v1 < v2) return ;1;
->
if (v1 < v2) return -1;
응컁컁 2016.5.4.
796 (두 번째 코드 아래 문장)
… 함수 매개변수와 마찬가지로 같은 템플릿의 선언와 정의에서 서로 같지 않아도 …
->
… 함수 매개변수와 마찬가지로 템플릿 선언과 정의에서 서로 달라도 …
응컁컁 2016.5.4.
833 (마지막)
void foo(const string&, const int&, const char[3]&);
->
void foo(const string&, const int&, const char(&)[3]);
* 2013.6.10.
834 (처음)
void foo(const char[3]&);
->
void foo(const char(&)[3]);
* 2013.6.10.
864 (두 번째 문단)
(없음)
->
새로운 표준에서는 all 연산을 추가했는데 이는 모든 비트가 켜져 있으면 true를 반환한다.
* … true를 반환한다. count와 size 연산에서는 … 사이에 추가 2013.6.10.
865 (밑에서 세 번째와 두 번째 줄 주석)
// 27번 학생이
// 불합격했는지 확인한다
* // 27번 학생 합격 여부를 확인한다
// 27번 학생은 불합격
2016.7.23.
866 (세 번째와 네 번째 줄 주석)
// 27번 학생이
// 불합격했는지 확인한다
응컁컁 // 27번 학생 합격 여부를 확인한다
// 27번 학생은 불합격
 2016.5.9.

 

You may also like...

  • 임진승

    158 페이지 decltype(&p)는 int **, 즉 int 타입에 대한 포인터의 포인터이다. 가 아니고 int *, int 타입의 포인터 이다가 맞는거 같습니다.

    • https://msdn.microsoft.com/en-us/library/dd537655.aspx
      쉬운 설명을 찾아 봤습니다. Remarks 부분 세 번째 내용을 보시면 되는데 표현식이 좌변 값일 때는 참조자 타입, 우변 값일 때는 해당 표현식 타입이 되며 int** 타입을 반환하는 게 맞습니다.

  • 응컁컁

    1쇄 781쪽 소스코드에
    if (v1 < v2) return ;1;
    if (v2 < v1) return 1;
    return 0;
    라고 나와있네요

    첫째줄이
    if (v1 선언과로 수정이 필요해보입니다

    • 두 내용 모두 오류가 맞으며 정오표에 반영하겠습니다. 고맙습니다.

  • 응컁컁

    1쇄 866페이지 첫번째문단
    status = quizB[27]; // 27번학생이
    quizB.reset(27); // 불합격했는지 확인한다

    ————————————————————————

    status = quizB[27]; // 27번학생이 어떤 상태인지 확인한다
    quizB.reset(27) // 27번 학생은 불합격

    이렇게 수정되어야 할거 같습니다.

    • 정오표에 반영했습니다. 고맙습니다.

  • HongJinBom

    감사합니다