| 000 | 00701namccc200253 k 4500 | |
| 001 | 000000653726 | |
| 005 | 20100806102338 | |
| 007 | ta | |
| 008 | 991213s1999 ulka 001a kor | |
| 020 | ▼a 8976275667 ▼g 98000 : ▼c \23000 | |
| 040 | ▼a 211009 ▼c 211009 ▼d 211009 | |
| 041 | 1 | ▼a kor ▼h eng |
| 049 | 1 | ▼l 111142265 |
| 082 | 0 4 | ▼a 005.133 ▼2 21 |
| 090 | ▼a 005.133 ▼b 1999zv | |
| 245 | 2 0 | ▼a (Waite group의)C++ how-to / ▼d Walter...[등저] ; ▼e 류광 역. |
| 260 | ▼a 서울 : ▼b 정보문화사 , ▼c 1999. | |
| 300 | ▼a 715 p. : ▼b 삽도 ; ▼c 26 cm + ▼e CD-ROM 1매. | |
| 500 | ▼a 색인수록 | |
| 700 | 1 | ▼a Walter, Jan |
| 700 | 1 | ▼a 류광 |
| 740 | ▼a (The)waite group's C++ how-to | |
| 950 | 0 | ▼b \23000 |
소장정보
| No. | 소장처 | 청구기호 | 등록번호 | 도서상태 | 반납예정일 | 예약 | 서비스 |
|---|---|---|---|---|---|---|---|
| No. 1 | 소장처 중앙도서관/교육보존A/1 | 청구기호 005.133 1999zv | 등록번호 111142265 (26회 대출) | 도서상태 대출가능 | 반납예정일 | 예약 | 서비스 |
컨텐츠정보
책소개
초보 프로그래머라도 이해할 수 있는 평이한 문장으로 쓰여져 있다. 프로젝트의 작성 과정이 단계별로 나뉘어져 있으며, 각 단계마다 친절한 설명이 붙어 있고 소스 코드에도 충실한 주석이 붙어 있으므로 실력 있는 가정 교사를 구했다고 생각해도 된다. The Waite Group C++ How-To 객체 지향 분석과 설계, STL 컨테이너 클래스, C와 C++ 알고리즘, 런타임 에러 등의 다양한 분야들을 망라하고 있다.
정보제공 :
저자소개
Walter Kalev(지은이)
<Waite Group의 C++ How-To>
Andrei Kossoroukov(지은이)
<Waite Group의 C++ How-To>
Paul Snaith(지은이)
<Waite Group의 C++ How-To>
Michael J. Tobler(지은이)
<Waite Group의 C++ How-To>
류광(옮긴이)
도널드 커누스 교수의 《컴퓨터 프로그래밍의 예술》 시리즈를 비롯해 다양한 IT 전문서를 번역한 전문 번역가이다. 생성형 AI 관련 번역서로는 《마스터링 트랜스포머》 《실전! RAG 기반 생성형 AI 개발》 《LLM 인 프로덕션》 《AI 에이전트 인 액션》 등이 있다. 개인 웹사이트 류광의 번역 이야기(https://occamsrazr.net)와 IT 및 게임 개발 정보 공유 사이트 GpgStudy.com(https://gpgstudy.com)을 운영한다.
목차
목차 제1부 언어에 대해 = 35 제1장 언어에 대한 간단한 소개 = 37 1.1 언어에 대한 사전 지식없이 가장 간단한 형태의 C++ 프로그램을 만들어 보려면 = 40 문제 = 40 기법 = 40 작성 과정 = 40 작동 방식 = 41 한마디 = 44 1.2 계산 작업을 수행하는 프로그램을 만들려면 = 47 문제 = 47 기법 = 47 작성 과정 = 47 작동 방식 = 48 한마디 = 50 1.3 C++의 여러 가지 반복문들을 사용하려면 = 52 문제 = 52 기법 = 52 작성 과정 = 52 작동 방식 = 54 한마디 = 56 1.4 함수를 사용하는 프로그램을 만들려면 = 58 문제 = 58 기법 = 58 작성 과정 = 58 작동 방식 = 60 한마디 = 62 1.5 배열이나 포인터 같은 파생 데이터형을 사용하려면 = 63 문제 = 63 기법 = 63 작성 과정 = 64 작동 방식 = 66 한마디 = 74 1.6 프로그램 실행중에 데이터를 생성하려면 = 74 문제 = 74 기법 = 74 작성 과정 = 75 작동 방식 = 76 한마디 = 79 1.7 에러 처리, 특히 예외 처리를 수행하는 프로그램을 만들려면 = 80 문제 = 80 기법 = 80 작성 과정 = 80 작동 방식 = 84 한마디 = 90 제2장 객체 지향의 이론과 실제 = 93 2.1 객체 지향적 패러다임을 이해하려면 = 95 문제 = 95 기법 = 95 작성 과정 = 95 작동 방식 = 96 한마디 = 97 2.2 상속 개념을 배우고 그것을 프로그래밍에 적용하려면 = 97 문제 = 97 기법 = 97 작성 과정 = 100 작동 방식 = 101 한마디 = 103 2.3 캡슐화 개념을 이해하려면 = 103 문제 = 103 기법 = 103 작성 과정 = 104 작동 방식 = 105 한마디 = 105 2.4 다형성 개념을 이해하려면 = 105 문제 = 105 기법 = 106 작성 과정 = 106 작동 방식 = 108 한마디 = 110 제3장 C++에서의 객체 지향 = 111 3.1 C++에서 간단한 클래스를 만들려면 = 113 문제 = 113 기법 = 113 작성 과정 = 113 작동 방식 = 117 한마디 = 123 3.2 C++에서 상속을 구현하려면 = 124 문제 = 124 기법 = 124 작성 과정 = 124 작동 방식 = 129 한마디 = 132 3.3 C++ 프로그램에 캡슐화를 적용하려면 = 133 문제 = 133 기법 = 133 작성 과정 = 133 작동 방식 = 136 3.4 C++에서 다형성을 구현하려면 = 138 기법 = 138 작성 과정 = 138 작동 방식 = 142 한마디 = 145 3.5 클래스의 정적 멤버를 구현하려면 = 146 문제 = 146 기법 = 147 작성 과정 = 147 작동 방식 = 148 한마디 = 150 제2부 자료 구조 = 153 제4장 구조체와 클래스 = 155 4.1 새로운 데이터형을 만들려면 = 158 문제 = 158 기법 = 159 작성 과정 = 159 한마디 = 169 4.2 외부 프로그램으로부터 데이터를 은폐하려면 = 169 문제 = 169 기법 = 169 작성 과정 = 170 한마디 = 181 4.3 데이터를 캡슐화하는 구체적인 과정 = 182 문제 = 182 기법 = 182 작성 과정 = 183 한마디 = 188 4.4 연산자의 기능을 변경하려면 = 189 문제 = 189 기법 = 189 작성 과정 = 190 한마디 = 195 4.5 관계 연산자와 동등 연산자를 중복시키려면 = 196 문제 = 196 기법 = 196 작성 과정 = 196 한마디 = 202 4.6 캡슐화된 데이터를 다른 어떤 클래스가 사용할 수 있도록 만들려면 = 203 문제 = 203 기법 = 204 작성 과정 = 205 한마디 = 207 4.7 프로그램의 전역 데이터를 관리하려면 = 208 문제 = 208 기법 = 208 작성 과정 = 209 한마디 = 211 4.8 구조체를 사용할 때와 클래스를 사용할 때를 구분하려면 = 211 문제 = 211 기법 = 211 작성 단계 = 211 한마디 = 214 제5장 클래스를 다룰 때 범하기 쉬운 실수들 = 217 5.1 객체 지향적 접근 방식과 절차적 접근 방식을 적절히 선택하려면 = 221 문제 = 221 기법 = 221 단계 = 221 작동 방식 = 226 한마디 = 229 5.2 클래스의 데이터 멤버의 작동 방식을 이해하려면 = 229 문제 = 229 기법 = 229 작성 과정 = 230 작동 방식 = 234 한마디 = 236 5.3 범위 해석 연산자를 제대로 사용하려면 = 236 문제 = 236 기법 = 237 작성 과정 = 237 작동 방식 = 241 한마디 = 244 5.4 마침표를 이용해서 객체의 멤버 함수를 호출하려면 = 244 문제 = 244 기법 = 244 작성 과정 = 246 작동 방식 = 247 한마디 = 249 5.5 하나의 클래스에 여러 개의 생성자들을 선언, 정의해서 사용하려면 = 250 문제 = 250 기법 = 250 작성 과정 = 251 작동 방식 = 253 한마디 = 255 5.6 함수 중복을 구현하려면 = 255 문제 = 255 기법 = 256 작성 과정 = 256 작동 방식 = 259 한마디 = 260 5.7 상속을 제대로 활용하려면 = 260 문제 = 260 기법 = 260 작성 과정 = 261 작동 방식 = 264 한마디 = 267 5.8 C++의 상속 메커니즘을 통해서 부모 클래스들에게 인자들을 전달하려면 = 267 문제 = 267 기법 = 267 작성 과정 = 268 작동 방식 = 271 한마디 = 273 5.9 가상 클래스와 비가상 클래스를 구분하려면? 가상 클래스를 언제 사용하는지, 또 C++에서 virtual이라는 키워드는 어떤 뜻인지? = 275 문제 = 275 기법 = 275 작성 과정 = 276 작동 방식 = 284 한마디 = 287 제6장 템플릿 클래스 = 289 6.1 임의의 기본 데이터형을 표현할 수 있는 템플릿 클래스를 만들고, 그것을 C++ 프로그램에서 사용하려면 = 292 문제 = 292 기법 = 292 작성 과정 = 292 작동 방식 = 295 한마디 = 296 6.2 임의의 기본 데이터형을 표현할 수 있는 템플릿 클래스를 만들고 그것을 임의의 데이터형의 값을 입력 받을 수 있도록 확장시키려면 = 296 문제 = 296 기법 = 297 작성 과정 = 297 작동 방식 = 298 한마디 = 300 6.3 복합 데이터형을 표현할 수 있는 템플릿 클래스를 만들고, 그것을 C++프로그램에서 사용하려면 = 300 문제 = 300 기법 = 301 작성 과정 = 301 작동 방식 = 303 한마디 = 305 6.4 결정되지 않은 데이터형이 둘 이상인 템플릿 클래스를 만들려면 = 306 문제 = 306 기법 = 306 작성 과정 = 306 작동 방식 = 308 한마디 = 311 6.5 템플릿 클래스로 구조체를 다루려면 = 312 문제 = 312 기법 = 312 작성 과정 = 313 작동 방식 = 314 한마디 = 319 제7장 표준 템플릿 라이브러리의 컨테이너 클래스들 = 321 7.1 필요에 따라 자동적으로 커지거나 작아지는 컨테이너 객체를 만들려면 = 325 문제 = 325 기법 = 325 작성 과정 = 325 작동 방식 = 327 한마디 = 329 7.2 컨테이너에 저장된 개별 요소의 값을 얻으려면 = 330 문제 = 330 기법 = 330 작성 과정 = 330 작동 방식 = 332 한마디 = 332 7.3 컨테이너에 저장된 요소를 수정하려면 = 334 문제 = 334 기법 = 334 작성 과정 = 334 작동 방식 = 335 한마디 = 337 7.4 범용 LIFO 자료 구조를 사용하려면 = 339 문제 = 339 기법 = 339 작성 과정 = 340 작동 방식 = 343 한마디 = 349 7.5 컨테이너의 자동적인 메모리 재할당을 방지하려면 = 349 문제 = 349 기법 = 349 작성 과정 = 350 작동 방식 = 352 한마디 = 355 7.6 컨테이너의 모든 요소들을 차례로 훑어 나가려면 = 356 문제 = 356 기법 = 356 작성 과정 = 357 작동 방식 = 358 한마디 = 361 7.7 큐 자료 구조를 구현하려면 = 363 문제 = 363 기법 = 363 작성 과정 = 364 작동 방식 = 365 한마디 = 366 요약 = 367 제3부 알고리즘 = 369 제8장 표준 C 라이브러리의 알고리즘들 = 371 8.1 배열을 정렬하려면 = 374 문제 = 374 기법 = 374 작성과정 = 374 작동 방식 = 376 콜백 함수 = 378 데이터 포인터와 코드 포인터 = 378 한마디 = 383 작성 과정 = 383 작동 방식 = 384 한마디 = 385 8.2 배열의 특정 요소를 검색하려면 = 386 문제 = 386 기법 = 386 작성 과정 = 386 작동 방식 = 388 8.3 정렬되지 않은 배열에서 특정 요소를 찾아내려면 = 391 문제 = 391 기법 = 391 작성 과정 = 391 작동 방식 = 393 8.4 _Ifind와 _Isearch의 차이점은? = 396 문제 = 396 기법 = 396 작성 과정 = 396 작동 방식 = 398 한마디 = 400 8.5 일련의 난수들을 생성해 내려면 = 400 문제 = 400 기법 = 401 작성 과정 = 401 작동 방식 = 401 제9장 표준 템플릿 라이브러리에 포함된 알고리즘들 = 405 9.1 순차적 컨테이너를 사용하는 클래스를 만들려면 = 411 문제 = 411 기법 = 411 작성 과정 = 412 한마디 = 420 9.2 순차적 작업에 서술자(predicate)를 사용하려면 = 420 문제 = 420 기법 = 421 작성 과정 = 421 한마디 = 426 9.3 컨테이너의 특정 범위 안에 있는 모든 요소들에 대해 동일한 작업을 반복하려면 = 427 문제 = 427 기법 = 427 작성 과정 = 427 한마디 = 432 9.4 두 개의 자료열을 비교하려면 = 432 문제 = 432 기법 = 432 작성 과정 = 432 한마디 = 436 9.5 컨테이너에서 특정한 자료열을 검색하려면 = 437 문제 = 437 기법 = 437 작성 과정 = 437 한마디 = 442 9.6 컨테이너의 모든 요소들을 합산하고 누적된 부분합들의 자료열을 만들려면 = 442 문제 = 442 기법 = 442 작성 과정 = 442 한마디 = 449 9.7 컨테이너의 요소들을 정렬할 때 다양한 정렬 순서들을 적용하려면 = 449 문제 = 449 기법 = 449 작성 과정 = 450 한마디 = 461 9.8 컨테이너 요소들의 순서를 바꾸려면 = 462 문제 = 462 기법 = 462 작성 과정 = 463 한마디 = 470 제4부 에러 처리 = 471 제10장 C 스타일의 에러 처리 = 473 10.1 프로그램 안에서 발생한 런타임 에러를 처리하려면 = 477 문제 = 477 기법 = 477 작성 과정 = 478 작동 방식 = 481 한마디 = 483 10.2 프로그램이 발생시킨 런타임 에러들을 처리할 때 표준 C 라이브러리 함수인 perror와 sterror, 그리고 미리 정의되어 있는 C 매크로들을 사용하는 방법은? = 484 문제 = 484 기법 = 484 작성 과정 = 485 작동 방식 = 487 한마디 = 487 10.3 디버그 모드에서 assert를 이용해서 에러들을 잡아내려면 = 488 문제 = 488 기법 = 488 작성 과정 = 489 작동 방식 = 489 한마디 = 490 10.4 raise나 signal을 사용해서 에러 발생을 알리려면 = 490 문제 = 490 기법 = 491 작성 과정 = 491 작동 방식 = 493 한마디 = 495 10.5 심각한 에러가 발생했을 때 abort를 사용해서 응용 프로그램을 종료 시키려면 = 496 문제 = 496 기법 = 496 작성 과정 = 496 작동 방식 = 498 한마디 = 498 10.6 프로그램이 정상적으로 종료될 때 특정한 작업을 수행하려고 하는데, exit와 atexit의 사용법은? = 499 문제 = 499 기법 = 499 작성 과정 = 499 작동 방식 = 500 한마디 = 501 10.7 표준 C 라이브러리가 제공하는 파일 함수들을 이용해서 파일의 읽기/쓰기를 수행하다가 발생한 에러를 잡아내려면 = 502 문제 = 502 기법 = 502 작성 과정 = 502 작동 방식 = 503 한마디 = 503 10.8 에러를 처리할 때 상태를 유지시키려고 하는데, setjmp와 longjmp를 어떻게 사용하는지 = 504 문제 = 504 기법 = 504 작성 과정 = 504 작동 방식 = 506 한마디 = 506 10.9 C++ 클래스를 이용해서 런타임 에러 처리를 좀 더 편하게 관리하려면 = 507 문제 = 507 기법 = 507 작성 과정 = 507 작동 방식 = 509 한마디 = 515 제11장 C++에서의 에러 처리 = 517 11.1 예외 처리 메커니즘을 이용해서 잠재적인 에러 상황을 처리하려면 = 519 문제 = 519 기법 = 520 작성 과정 = 520 작동 방식 = 523 한마디 = 529 11.2 다중 catch절, catch의 순서 매김, 그리고 예외 재발생에 대해서 = 530 문제 = 530 기법 = 530 작성 과정 = 530 작동 방식 = 533 한마디 = 538 11.3 예외 클래스를 구현, 사용하려면 = 539 문제 = 539 기법 = 539 작성 과정 = 540 작동 방식 = 541 한마디 = 545 11.4 함수가 던질 예외를 지정하려면 = 545 문제 = 545 기법 = 545 작성 과정 = 545 작동 방식 = 547 한마디 = 549 11.5 처리하지 못한, 또는 예기치 못한 예외들을 처리하려면 = 551 문제 = 551 기법 = 551 작성 과정 = 551 작동 방식 = 553 한마디 = 554 제5부 메모리 관리 = 557 제12장 New와 Delete 대 Malloc()와 Free() = 559 12.1 C의 malloc(), free() 루틴과 C++의 new, delete를 함께 사용하려면 = 561 문제 = 561 기법 = 561 작성 과정 = 562 12.2 new로 할당한 객체에 대해 C의 mem... 루틴들을 사용하려면 = 563 문제 = 563 기법 = 563 작동 방식 = 564 한마디 = 564 12.3 구조체나 클래스가 실제로 차지하는 메모리 크기를 알아내려면 = 564 문제 = 564 기법 = 564 작성 과정 = 567 현상을 해결하려면 = 568 12.4 delete로 배열을 삭제할 때 메모리가 새는 현상을 해결하려면 = 568 문제 = 568 기법 = 568 작성 과정 = 568 작동 과정 = 569 12.5 클래스에 대해 new와 delete 연산자를 재정의하려면 = 569 문제 = 569 기법 = 569 작성 과정 = 570 작동 방식 = 573 한마디 = 574 12.6 배열에 대해 사용하는 new〔〕와 delete〔〕 연산자를 중복시키려면 = 574 문제 = 574 기법 = 574 작성 과정 = 575 작동 방식 = 579 한마디 = 579 제13장 클래스를 이용한 메모리 관리 기법 = 595 13.1 동적으로 할당된 메모리를 자동으로 해제하는 간단한 클래스를 만들려면 = 596 문제 = 596 작성 과정 = 598 작동 방식 = 601 13.2 new로 할당된 객체들을 자동적으로 해제하는 클레스를 만들려면 = 602 문제 = 602 기법 = 602 작성 과정 = 603 작동 방식 = 606 한마디 = 607 13.3 더 이상 참조되지 않으면 자동으로 해제되는 객체를 만들려면 = 607 문제 = 607 기법 = 607 작성 과정 = 609 작동 방식 = 620 한마디 = 620 제6부 I/0 = 621 제14장 I/0 스트림 라이브러리의이해 = 623 14.1 C 표준 I/0 라이브러리를 C++ I/0 스트림 라이브러리와 함께 사용하려면 = 625 문제 = 625 기법 = 626 작동 방식 = 626 한마디 = 627 14.2 cin이나 cout을 대신할 만한 클래스를 만들려면 = 628 문제 = 628 기법 = 628 작성 과정 = 629 작동 방식 = 629 한마디 = 629 14.3 cout이나 기타 ostream 객체를 이용해서 복잡한 포매팅을 수행하려면 = 630 문제 = 630 기법 = 630 표준 조작자들 = 630 setw()를 통한 출력 너비 설정 = 631 setfill()을 이용한 공백 문자 설정 = 633 setpredision()을 이용한 유효자리 설정 = 634 진수 지정 = 636 seff()를 사용한 스트림 조작 = 638 위치 정렬 = 639 양수값에 + 부호를 붙이려면 = 639 부동 소수점 값을 과학 표기법으로 표시하려면 = 639 작성 과정 = 643 작동 방식 = 643 한마디 = 643 14.4 스트림 조작자를 직접 만들려면 = 644 문제 = 644 기법 = 644 참고 = 644 작성 과정 = 645 작동 방식 = 646 한마디 = 651 제15장 파일 I/0 = 653 15.1 파일 스트림을 열려면 = 655 문제 = 655 기법 = 655 파일 I/0 관련 클래스들 = 655 작성 과정 = 657 작동 방식 = 657 15.2 파일의 끝에 이를 때까지 계속 데이터를 읽으려면 = 658 문제 = 658 기법 = 658 문제1: 읽기 루프와 스트림 에러 = 658 문제2: STL이나 기타 데이터 추출 멤버 함수들의 구현의 차이 = 659 작성 과정 = 661 작동 방식 = 661 15.3 스트림 에러를 처리하려면 = 662 문제 = 662 기법 = 662 스트림 에러 상황들 = 662 작성 과정 = 663 작동 방식 = 665 한마디 = 666 15.4 이진 파일을 읽고 쓰려면 = 666 문제 = 666 기법 = 667 작성 과정 = 669 작동 방식 = 673 한마디 = 674 15.5 파일의 임의의 위치에서 데이터를 읽거나 쓰려면 = 674 문제 = 674 기법 = 674 스트림 위치 설정 함수들 = 675 위치 이동 기법들 = 676 작성 과정 = 677 작동 방식 = 679 한마디 = 679 제7부 부록 = 681 부록 A 이름공간(Namespace) = 683 이름공간의 이론적 배경 = 684 간략한 역사적 배경 = 685 대규모 프로젝트 역시 이름 충돌의 가능성이 크다 = 685 이름공간의 특성들 = 686 완전한 형태의 이름(fully qualified name) = 686 using 선언과 using 지시문 = 687 이름공간의 개방적이다 = 689 이름공간의 별칭 = 690 Koenig 참조 = 691 이름공간은 추가적인 부담을 발생시키지 않는다 = 691 이름공간과 언어의 다른 기능들과의 상호작용 = 692 외부 함수를 파일 내부 함수로 전환 = 692 표준 헤더들의 이름 = 694 이름공간의 제한 사항 = 695 이름공간 std를 수정해서는 안된다 = 695 사용자 정의 new와 delete는 이름공간 안에서 선언할 수 없다 = 695 한마디 = 696 부록 B 런타임형 정보(Runtime Type Information) = 697 정적 바인딩 = 698 동적 바인딩 = 698 역사적 배경 = 703 RTTI의 구성 요소들 = 703 한마디 = 710 찾아보기 = 711
