목차 일부
1장 표준 템플릿 라이브러리 = 21
1.1 기본 아이디어 = 23
1.2 템플릿 = 24
1.3 컨테이너 = 29
1.4 반복자 = 31
1.4.1 반복자 얻기 = 32
1.4.2 반복자 카테고리 = 33
1.4.3 스트림 반복자 = 36
1.4.4 반복자 어댑터 = 37
1.4.4.1...
더보기
목차 전체
1장 표준 템플릿 라이브러리 = 21
1.1 기본 아이디어 = 23
1.2 템플릿 = 24
1.3 컨테이너 = 29
1.4 반복자 = 31
1.4.1 반복자 얻기 = 32
1.4.2 반복자 카테고리 = 33
1.4.3 스트림 반복자 = 36
1.4.4 반복자 어댑터 = 37
1.4.4.1 역방향 반복자 = 38
1.4.4.2 삽입 반복자 = 39
1.4.4.3 이동 반복자 = 40
1.5 반복자에 쓰이는 연산 = 40
1.6 스마트 포인터 = 42
1.6.1 unique_ptr〈T〉포인터 사용하기 = 43
1.6.1.1 unique_ptr〈T〉객체를 초기화하기 = 45
1.6.1.2 unique_ptr〈T〉객체를 비교하고 검사하기 = 47
1.6.2 shared_ptr〈T〉객체 사용하기 = 47
1.6.2.1 shared_ptr〈T〉객체 초기화하기 = 49
1.6.2.2 shared_ptr〈T〉객체를 비교하고 검사하기 = 50
1.6.3 weak_ptr〈T〉포인터 = 51
1.7 알고리즘 = 53
1.8 함수를 인수로 전달하기 = 54
1.8.1 함수 객체 = 54
1.8.2 람다 표현식 = 55
1.8.2.1 람다 표현식에 이름 지정하기 = 56
1.8.2.2 람다 표현식을 함수에 전달하기 = 56
1.8.2.3 캡처 절 = 58
1.9 요약 = 61
1.10 연습문제 = 62
2장 순차 컨테이너 = 63
2.1 순차 컨테이너 = 65
2.1.1 컨테이너의 공통 함수 멤버 = 67
2.2 array〈T, N〉컨테이너 사용하기 = 70
2.2.1 원소에 접근하기 = 71
2.2.2 array 컨테이너에서 반복자 사용하기 = 75
2.2.3 array 컨테이너의 비교 = 77
2.3 vector〈T〉컨테이너 사용하기 = 78
2.3.1 vector〈T〉컨테이너 생성하기 = 79
2.3.2 벡터의 용량과 크기 = 81
2.3.3 원소에 접근하기 = 82
2.3.4 vector 컨테이너에서 반복자 사용하기 = 83
2.3.5 벡터 컨테이너에 새 원소 추가하기 = 88
2.3.5.1 원소를 추가하기 = 88
2.3.5.2 원소를 삽입하기 = 89
2.3.6 원소를 삭제하기 = 93
2.3.7 vector〈bool〉컨테이너 = 98
2.4 deque〈T〉컨테이너 사용하기 = 99
2.4.1 deque 컨테이너 생성하기 = 99
2.4.2 원소에 접근하기 = 101
2.4.3 원소를 추가하고 제거하기 = 101
2.4.4 deque 컨테이너의 내용을 대체하기 = 102
2.5 list〈T〉컨테이너 사용하기 = 105
2.5.1 list 컨테이너 생성하기 = 106
2.5.2 원소 추가하기 = 107
2.5.3 원소를 제거하기 = 109
2.5.4 원소를 정렬하고 병합하기 = 110
2.5.5 원소에 접근하기 = 114
2.6 forward_list〈T〉컨테이너 사용하기 = 117
2.7 반복자를 직접 정의하기 = 123
2.7.1 STL 반복자 요구사항 = 124
2.7.1.1 STL 반복자 사용의 문제 = 124
2.7.2. STL 접근 방식 = 125
2.7.2.1 반복자 템플릿 사용하기 = 129
2.7.2.2 STL 반복자 멤버 함수 요구사항 = 130
2.8 요약 = 136
2.9 연습문제 = 138
3장 컨테이너 어댑터 = 139
3.1 컨테이너 어댑터는 무엇인가? = 141
3.2 stack〈T〉컨테이너 어댑터 생성과 사용하기 = 141
3.2.1 스택 연산 = 143
3.3 queue〈T〉컨테이너 어댑터 생성과 사용하기 = 149
3.3.1 큐 연산 = 150
3.3.2 queue 컨테이너의 실제 사용 = 151
3.4 priority_queue〈T〉컨테이너 어댑터 사용하기 = 158
3.4.1 우선순위 큐를 생성하기 = 159
3.4.2 우선순위 큐를 위한 연산 = 161
3.5 힙 = 165
3.5.1 힙 생성하기 = 166
3.5.2 힙 연산 = 168
3.6 포인터를 컨테이너에 저장하기 = 175
3.6.1 순차열 컨테이너에 포인터 저장하기 = 176
3.6.2 우선순위 큐에 포인터 저장하기 = 185
3.6.3 포인터 힙 = 187
3.6.4 기반 클래스 포인터를 담은 컨테이너 = 188
3.6.5 알고리즘을 포인터 범위에 적용하기 = 192
3.7 요약 = 193
3.8 연습문제 = 195
4장 map 컨테이너 = 197
4.1 맵 컨테이너 소개 = 199
4.2 map 컨테이너 사용하기 = 200
4.2.1 map 컨테이너 생성하기 = 202
4.2.2 맵에 원소 삽입하기 = 204
4.2.3 map 원소를 내부에서 생성하기 = 213
4.2.4 map의 원소들에 접근하기 = 214
4.2.5 원소 삭제하기 = 225
4.3 pair〈〉와 tuple〈〉객체 사용하기 = 226
4.3.1 pair 연산 = 227
4.3.2 tuple 연산 = 230
4.3.3 tuple과 pair를 함께 사용 = 233
4.4 multimap 컨테이너 사용하기 = 240
4.5 비교 함수를 바꾸기 = 245
4.5.1 greater〈T〉객체 사용하기 = 246
4.5.2 원소를 비교하는 함수 객체 정의하기 = 247
4.6 해싱 = 248
4.6.1 해시 값을 생성하는 함수 = 250
4.7 unordered_map 컨테이너 사용하기 = 253
4.7.1 unordered_map 컨테이너 생성과 관리하기 = 255
4.7.2 버킷 개수 조정하기 = 258
4.7.3 원소 삽입하기 = 260
4.7.4 원소에 접근하기 = 262
4.7.5 원소 제거하기 = 262
4.7.6 버킷에 접근하기 = 263
4.8 unordered_multimap 컨테이너 사용하기 = 268
4.9 요약 = 278
4.10 연습문제 = 280
5장 set으로 작업하기 = 281
5.1 set 컨테이너 이해하기 = 283
5.2 set〈T〉컨테이너 사용하기 = 284
5.2.1 원소 추가와 제거 = 286
5.2.2 원소에 접근하기 = 287
5.2.3 set으로 작업하기 = 288
5.2.3.1 학생 생성하기 = 290
5.2.3.2 과목을 수강하는 학생들을 set으로 생성하기 = 291
5.2.3.3 과목과 코스를 생성하기 = 292
5.2.3.4 코스에 학생을 등록하기 = 293
5.2.3.5 학생들의 수강 과목 검사하기 = 294
5.2.3.6 코스를 출력하기 = 295
5.2.3.7 전체 프로그램 = 297
5.2.4 set 반복자 = 300
5.2.5 set 컨테이너에 포인터 저장하기 = 300
5.2.5.1 set 컨테이너에 스마트 포인터를 저장하는 예제 = 302
5.2.5.2 shared_ptr 원소들의 벡터를 생성하기 = 303
5.2.5.3 weak_ptr가 참조하는 객체를 출력하기 = 304
5.2.5.4 map 컨테이너에서 스마트 포인터를 키로 사용하기 = 305
5.2.5.5 스마트 포인터를 비교할 때의 문제점 = 306
5.3 multiset〈T〉컨테이너 사용하기 = 308
5.3.1 포인터를 파생 클래스 객체에 저장하기 = 311
5.3.1.1 컨테이너를 정의하기 = 314
5.3.1.2 예제에 사용할 main() 정의하기 = 315
5.4 unordered_set〈T〉컨테이너 사용하기 = 319
5.4.1 원소 추가하기 = 321
5.4.2 원소 가져오기 = 322
5.4.3 원소 삭제하기 = 323
5.4.4 버킷 리스트를 보여주기 = 324
5.5 unordered_multiset〈T〉컨테이너 사용하기 = 325
5.6 set 연산 = 332
5.6.1 set_union() 알고리즘 = 334
5.6.2 set_intersection() 알고리즘 = 335
5.6.3 set_difference() 알고리즘 = 336
5.6.4 set_symmetric_difference() 알고리즘 = 336
5.6.5 includes() 알고리즘 = 337
5.6.6 집합 연산 실습 = 339
5.7 요약 = 341
5.8 연습문제 = 342
6장 정렬, 병합, 검색, 분리 = 345
6.1 범위를 정렬하기 = 347
6.1.1 같은 원소의 정렬과 순서 = 351
6.1.2 부분 정렬 = 351
6.1.3 정렬된 범위의 테스트 = 355
6.2 범위를 병합하기 = 357
6.3 범위를 검색하기 = 368
6.3.1 범위에서 원소 찾기 = 368
6.3.2 범위에서 원소 범위 중에 하나를 찾기 = 370
6.3.3 범위에서 여러 원소를 찾기 = 372
6.3.3.1 find_end() 알고리즘 = 373
6.3.3.2 search() 알고리즘 = 375
6.3.3.3 search_n() 알고리즘 = 376
6.4 범위를 분리하기 = 377
6.4.1 partition_copy() 알고리즘 = 379
6.4.2 partition_point() 알고리즘 = 381
6.5 이진 탐색 알고리즘 = 382
6.5.1 binary_search() 알고리즘 = 383
6.5.2 lower_bound() 알고리즘 = 384
6.5.3 equal_range() 알고리즘 = 385
6.6 요약 = 389
6.7 연습문제 = 390
7장 다양한 알고리즘 = 391
7.1 원소 속성을 테스트하기 = 393
7.2 범위를 비교하기 = 395
7.2.1 범위에서 일치하지 않는 위치를 찾기 = 398
7.2.2 사전 순서로 범위 비교하기 = 402
7.2.3 범위의 순열 = 403
7.3 범위를 복제하기 = 409
7.3.1 n개의 원소들을 복제하기 = 409
7.3.2 조건에 따라 복제하기 = 410
7.3.3 역순으로 복제하기 = 411
7.4 원소 순서를 뒤집어서 복제하기 = 414
7.5 인접한 중복 원소를 제거하고 범위를 복제하기 = 416
7.6 범위에서 인접한 중복을 제거하기 = 417
7.7 범위를 회전하기 = 419
7.8 범위를 이동하기 = 421
7.9 범위에서 원소들을 제거하기 = 424
7.10 범위에서 원소를 설정하고 수정하기 = 426
7.10.1 원소 값을 함수로 생성하기 = 427
7.10.2 범위를 변경하기 = 429
7.10.3 범위의 원소를 치환하기 = 433
7.11 알고리즘을 적용하기 = 434
7.12 요약 = 440
7.13 연습문제 = 447
8장 랜덤 숫자 생성하기 = 449
8.1 랜덤 숫자란 무엇인가? = 451
8.2 확률, 분포, 엔트로피 = 452
8.2.1 확률이란 무엇인가? = 452
8.2.2 분포란 무엇인가? = 452
8.2.3 엔트로피는 무엇인가? = 454
8.3 STL에서 랜덤 숫자를 생성하기 = 455
8.3.1 랜덤 숫자 생성에서 시드 = 456
8.3.2 랜덤 시드 구하기 = 456
8.3.3 시드 순차열 = 458
8.4 분포 클래스 = 461
8.4.1 기본 랜덤 넘버 생성기 = 462
8.4.2 분포 객체를 생성하기 = 463
8.4.3 균등분포 = 465
8.4.3.1 이산균등분포 = 465
8.4.3.2 균등분포 정수 적용하기 = 468
8.4.3.3 연속균등분포 = 473
8.4.3.4 연속균등분포를 사용하기 = 474
8.4.3.5 표준균등분포를 생성하기 = 477
8.4.4 정규분포 = 479
8.4.4.1 정규분포를 사용하기 = 482
8.4.5 로그정규분포 = 485
8.4.5.1 로그정규분포 사용하기 = 486
8.4.6 정규분포와 관련된 다른 분포 = 490
8.4.7 샘플링분포 = 490
8.4.7.1 이산분포 = 491
8.4.7.2 이산분포 사용하기 = 494
8.4.7.3 조각 상수분포 = 500
8.4.7.4 조각 선형분포 = 504
8.4.8 나머지 분포 = 508
8.4.8.1 푸아송분포 = 508
8.4.8.2 기하분포 = 509
8.4.8.3 지수분포 = 510
8.4.8.4 감마분포 = 510
8.4.8.5 베이불분포 = 510
8.4.8.6 이항분포 = 511
8.4.8.7 음이항분포 = 512
8.4.8.8 극치분포 = 513
8.5 랜덤 넘버 엔진과 생성기 = 514
8.5.1 선형 합동 엔진 = 515
8.5.1.1 선형 합동 엔진에 기반한 생성기 = 516
8.5.2 메르센 트위스터 엔진 = 516
8.5.2.1 메르센 트위스터 엔진의 인스턴스인 생성기 = 517
8.5.3 감산 캐리 엔진 = 517
8.5.3.1 감산 캐리 엔진의 인스턴스인 생성기 = 518
8.6 원소 범위를 섞기 = 518
8.7 요약 = 519
8.8 연습문제 = 521
9장 스트림 연산 = 523
9.1 스트림 반복자 = 525
9.1.1 입력 스트림 반복자 = 525
9.1.1.1 반복자와 스트림 반복자 = 526
9.1.1.2 입력 스트림 함수 멤버를 사용해 읽기 = 527
9.1.2 출력 스트림 반복자 = 530
9.1.2.1 출력 스트림 반복자의 함수 멤버를 사용한 쓰기 = 531
9.2 삽입 연산자와 추출 연산자를 오버로딩하기 = 532
9.3 스트림 반복자를 파일과 사용하기 = 534
9.3.1 파일 스트림 = 534
9.3.2 파일 스트림 클래스 템플릿 = 535
9.3.3 스트림 반복자를 사용한 파일 입력 = 537
9.3.4 스트림 반복자를 사용해 파일 읽기를 반복하기 = 539
9.3.5 스트림 반복자를 사용한 파일 출력 = 541
9.4 스트림 반복자와 알고리즘 = 543
9.5 스트림 버퍼 반복자 = 548
9.5.1 입력 스트림 버퍼 반복자 = 548
9.5.2 출력 스트림 버퍼 반복자 = 550
9.5.3 스트림 버퍼 반복자와 파일 스트림 사용하기 = 551
9.6 문자열 스트림, 스트림, 스트림 버퍼 반복자 = 553
9.7 요약 = 557
9.8 연습문제 = 558
10장 수치, 시간, 복소수 데이터 사용하기 = 559
10.1 수치 계산 = 561
10.2 수치 알고리즘 = 561
10.2.1 범위에 증분값을 저장하기 = 562
10.2.2 범위 합계 = 563
10.2.3 내적 = 565
10.2.3.1 내적 적용하기 = 566
10.2.3.2 내적 연산의 대안을 정의하기 = 569
10.2.4 인접 원소들의 차 = 570
10.2.5 부분 합 = 571
10.2.6 극댓값과 극솟값 = 573
10.3 수치 값을 저장하고 이용하기 = 574
10.3.1 valarray 객체의 기본 연산 = 576
10.3.2 단항 연산자 = 581
10.3.3 valarray 객체에 복합 할당 연산자 사용하기 = 582
10.3.4 valarray 객체에 이항 연산자 적용하기 = 583
10.3.5 valarray 객체의 원소에 접근하기 = 585
10.3.5.1 슬라이스 생성하기 = 586
10.3.5.2 행을 선택하기 = 587
10.3.5.3 열을 선택하기 = 588
10.3.5.4 슬라이스 사용하기 = 589
10.3.5.5 슬라이스를 적용해 방정식을 풀기 = 592
10.3.5.6 가우스 소거법 = 593
10.3.5.7 소거 과정 = 593
10.3.5.8 최적 피벗 찾기 = 594
10.3.5.9 다중 슬라이스 = 604
10.3.5.10 행이나 열을 여러 개 선택하기 = 606
10.3.5.11 gslice 객체 사용하기 = 608
10.3.5.12 원소에서 임의의 서브셋을 선택하기 = 609
10.3.5.13 원소를 조건에 따라 선택하기 = 610
10.4 유리수 계산 = 612
10.5 시간 관련 템플릿 = 616
10.5.1 duration 정의하기 = 617
10.5.1.1 duration의 산술 연산 = 618
10.5.1.2 duration 타입의 변환 = 620
10.5.1.3 duration 비교 = 621
10.5.1.4 duration 리터럴 = 622
10.5.2 클록과 시점 = 623
10.5.2.1 시점 생성하기 = 625
10.5.2.2 시점의 duration = 626
10.5.2.3 시점으로 산술 연산 = 627
10.5.2.4 시점을 비교하기 = 629
10.5.2.5 클록으로 연산하기 = 630
10.5.2.6 실행 시간 측정하기 = 632
10.6 복소수 = 634
10.6.1 복소수를 표현하는 객체를 생성하기 = 634
10.6.2 복소수 연산 = 636
10.6.3 복소수의 비교와 기타 연산 = 636
10.6.4 복소수를 사용하는 간단한 예제 = 638
10.7 요약 = 641
10.8 연습문제 = 642
찾아보기 = 643
더보기 닫기