gitextract_nd2mxzgw/ ├── .gitignore ├── auto_refresh_mkdocs_site.sh ├── codes/ │ ├── CProgramming/ │ │ ├── README.md │ │ ├── ch02_C语言基本概念/ │ │ │ ├── build.sh │ │ │ ├── celsius.c │ │ │ ├── dweight.c │ │ │ ├── dweight2.c │ │ │ ├── ex_01.c │ │ │ ├── ex_02.c │ │ │ ├── ex_03.c │ │ │ ├── ex_04.c │ │ │ ├── ex_05.c │ │ │ ├── ex_06.c │ │ │ ├── ex_07.c │ │ │ ├── ex_08.c │ │ │ ├── ex_09.md │ │ │ ├── ex_10.c │ │ │ ├── ex_11.md │ │ │ ├── ex_12.md │ │ │ ├── ex_13.md │ │ │ └── pun.c │ │ ├── ch03_格式化的输入输出/ │ │ │ ├── addfrac.c │ │ │ ├── build.sh │ │ │ ├── ex_01.c │ │ │ ├── ex_02.c │ │ │ ├── ex_03.c │ │ │ ├── ex_04.c │ │ │ ├── ex_05.c │ │ │ ├── ex_06.c │ │ │ ├── ex_07.c │ │ │ ├── ex_08.c │ │ │ ├── example_escape_sequence.c │ │ │ ├── example_scanf.c │ │ │ ├── stocks.c │ │ │ └── tprintf.c │ │ ├── ch04_表达式/ │ │ │ ├── build.sh │ │ │ ├── ex_01.c │ │ │ ├── ex_02.c │ │ │ ├── ex_03.c │ │ │ ├── ex_04.c │ │ │ ├── ex_05.c │ │ │ ├── ex_06.c │ │ │ ├── ex_07.c │ │ │ ├── ex_08.c │ │ │ ├── ex_09.md │ │ │ ├── ex_10.c │ │ │ ├── ex_11.md │ │ │ └── upc.c │ │ ├── ch05_选择语句/ │ │ │ ├── broker.c │ │ │ ├── build.sh │ │ │ ├── date.c │ │ │ ├── ex_01.c │ │ │ ├── ex_02.c │ │ │ ├── ex_03.c │ │ │ ├── ex_04.c │ │ │ ├── ex_05.c │ │ │ ├── ex_06.c │ │ │ ├── ex_07.c │ │ │ ├── ex_08.c │ │ │ ├── ex_09.c │ │ │ ├── ex_10.c │ │ │ ├── ex_11.c │ │ │ ├── ex_12.c │ │ │ ├── ex_13.c │ │ │ ├── ex_14.c │ │ │ ├── ex_15.c │ │ │ └── ex_16.c │ │ ├── ch06_循环/ │ │ │ ├── build.sh │ │ │ ├── checking.c │ │ │ ├── ex_01.c │ │ │ ├── ex_02.c │ │ │ ├── ex_03.c │ │ │ ├── ex_04.c │ │ │ ├── ex_05.c │ │ │ ├── ex_06.c │ │ │ ├── ex_07.c │ │ │ ├── ex_08.c │ │ │ ├── ex_09.c │ │ │ ├── ex_10.md │ │ │ ├── ex_11.md │ │ │ ├── ex_12.c │ │ │ ├── ex_13.c │ │ │ ├── ex_14.c │ │ │ ├── ex_15.c │ │ │ ├── ex_16.md │ │ │ ├── example_goto.c │ │ │ ├── numdigit.c │ │ │ ├── square.c │ │ │ ├── square2.c │ │ │ ├── square3.c │ │ │ └── sum.c │ │ ├── ch07_基本类型/ │ │ │ ├── build.sh │ │ │ ├── ex_01.c │ │ │ ├── ex_02.c │ │ │ ├── ex_03.c │ │ │ ├── ex_04.c │ │ │ ├── ex_05.c │ │ │ ├── ex_06.c │ │ │ ├── ex_07.md │ │ │ ├── ex_08.c │ │ │ ├── ex_09.c │ │ │ ├── ex_10.c │ │ │ ├── ex_11.c │ │ │ ├── ex_12.c │ │ │ ├── ex_13.md │ │ │ ├── ex_15.md │ │ │ ├── ex_16.md │ │ │ ├── ex_17.c │ │ │ ├── ex_18.md │ │ │ ├── ex_19.c │ │ │ ├── length.c │ │ │ ├── mytoupper.c │ │ │ ├── scanf_char.c │ │ │ ├── sum2.c │ │ │ └── typedef_sizeof.c │ │ ├── ch08_数组/ │ │ │ ├── build.sh │ │ │ ├── deal.c │ │ │ ├── ex_01.c │ │ │ ├── ex_02.c │ │ │ ├── ex_03.c │ │ │ ├── ex_04.md │ │ │ ├── ex_05.c │ │ │ ├── ex_06.c │ │ │ ├── ex_07.c │ │ │ ├── ex_08.md │ │ │ ├── ex_09.c │ │ │ ├── ex_10.c │ │ │ ├── ex_11.c │ │ │ ├── ex_12.c │ │ │ ├── ex_13.c │ │ │ ├── interest.c │ │ │ ├── repdigit.c │ │ │ └── reverse.c │ │ ├── ch09_函数/ │ │ │ ├── average.c │ │ │ ├── build.sh │ │ │ ├── countdown.c │ │ │ ├── ex_01.c │ │ │ ├── ex_02.c │ │ │ ├── ex_03.c │ │ │ ├── ex_04.c │ │ │ ├── ex_05.c │ │ │ ├── ex_06.c │ │ │ ├── ex_07.c │ │ │ ├── ex_08.md │ │ │ ├── ex_09.c │ │ │ ├── ex_10.c │ │ │ ├── ex_11.md │ │ │ ├── ex_12.c │ │ │ ├── ex_13.c │ │ │ ├── ex_14.c │ │ │ ├── ex_15.c │ │ │ ├── ex_16.c │ │ │ ├── ex_17.c │ │ │ ├── prime.c │ │ │ ├── pun2.c │ │ │ └── qsort.c │ │ ├── ch10_程序结构/ │ │ │ ├── build.sh │ │ │ ├── ex_01.c │ │ │ ├── ex_02.md │ │ │ ├── ex_03.c │ │ │ ├── ex_04.c │ │ │ ├── ex_05.c │ │ │ ├── ex_06.c │ │ │ ├── ex_07.c │ │ │ ├── guess.c │ │ │ ├── poker.c │ │ │ └── stack.c │ │ ├── ch11_指针/ │ │ │ ├── build.sh │ │ │ ├── ex_01.md │ │ │ ├── ex_02.md │ │ │ ├── ex_03.c │ │ │ ├── ex_04.c │ │ │ ├── ex_05.c │ │ │ ├── ex_06.c │ │ │ └── maxmin.c │ │ ├── ch12_指针和数组/ │ │ │ ├── build.sh │ │ │ ├── ex_01.c │ │ │ ├── ex_02.md │ │ │ ├── ex_03.c │ │ │ ├── ex_04.c │ │ │ ├── ex_05.c │ │ │ ├── ex_06.c │ │ │ ├── ex_07.md │ │ │ ├── ex_08.md │ │ │ ├── ex_09.md │ │ │ ├── ex_10.c │ │ │ ├── ex_11.c │ │ │ ├── ex_12.c │ │ │ ├── ex_13.c │ │ │ ├── ex_14.c │ │ │ ├── ex_15.c │ │ │ └── reverse2.c │ │ ├── ch13_字符串/ │ │ │ ├── build.sh │ │ │ ├── count_space.c │ │ │ ├── ex_01.md │ │ │ ├── ex_02.md │ │ │ ├── ex_03.c │ │ │ ├── ex_04.c │ │ │ ├── ex_05.c │ │ │ ├── ex_06.c │ │ │ ├── ex_07.c │ │ │ ├── ex_08.c │ │ │ ├── ex_09.md │ │ │ ├── ex_10.c │ │ │ ├── ex_11.c │ │ │ ├── ex_12.md │ │ │ ├── ex_13.c │ │ │ ├── ex_14.c │ │ │ ├── ex_15.c │ │ │ ├── ex_16.c │ │ │ ├── ex_17.c │ │ │ ├── ex_18.md │ │ │ ├── ex_19.c │ │ │ ├── ex_20.c │ │ │ ├── planet.c │ │ │ ├── read_line.c │ │ │ ├── remind.c │ │ │ ├── reverse.c │ │ │ ├── strcat.c │ │ │ ├── strcmp.c │ │ │ └── strlen.c │ │ ├── ch14_预处理器/ │ │ │ ├── build.sh │ │ │ ├── ex_01.c │ │ │ ├── ex_02.c │ │ │ ├── ex_03.c │ │ │ ├── ex_04.c │ │ │ ├── ex_05.c │ │ │ ├── ex_06.c │ │ │ ├── ex_07.c │ │ │ ├── ex_08.c │ │ │ ├── ex_09.c │ │ │ ├── ex_10.c │ │ │ ├── ex_11.c │ │ │ └── ex_12.c │ │ ├── ch15_编写大规模程序/ │ │ │ ├── build.sh │ │ │ ├── dir_ex_04/ │ │ │ │ ├── bar.c │ │ │ │ ├── foo.c │ │ │ │ └── makefile │ │ │ ├── dir_ex_06/ │ │ │ │ ├── main.c │ │ │ │ ├── makefile │ │ │ │ ├── stack.c │ │ │ │ ├── stack.h │ │ │ │ ├── token.c │ │ │ │ └── token.h │ │ │ ├── dir_ex_07/ │ │ │ │ ├── f1.c │ │ │ │ ├── f1.h │ │ │ │ ├── f2.c │ │ │ │ ├── f2.h │ │ │ │ ├── main.c │ │ │ │ └── makefile │ │ │ ├── ex_01.md │ │ │ ├── ex_02.md │ │ │ ├── ex_03.md │ │ │ ├── ex_04.md │ │ │ ├── ex_05.md │ │ │ ├── ex_06.md │ │ │ ├── ex_07.md │ │ │ ├── ex_08.md │ │ │ ├── ex_09.md │ │ │ └── format_program/ │ │ │ ├── fmt.c │ │ │ ├── line.c │ │ │ ├── line.h │ │ │ ├── makefile │ │ │ ├── quote │ │ │ ├── word.c │ │ │ ├── word.h │ │ │ └── 核心伪代码.txt │ │ ├── ch16_结构_联合_枚举/ │ │ │ ├── build.sh │ │ │ ├── dir_ex_08/ │ │ │ │ ├── invent.c │ │ │ │ ├── makefile │ │ │ │ ├── readline.c │ │ │ │ └── readline.h │ │ │ ├── dir_ex_09/ │ │ │ │ ├── invent.c │ │ │ │ ├── makefile │ │ │ │ ├── readline.c │ │ │ │ └── readline.h │ │ │ ├── ex_01.c │ │ │ ├── ex_02.c │ │ │ ├── ex_04.md │ │ │ ├── ex_05.c │ │ │ ├── ex_06.c │ │ │ ├── ex_07.md │ │ │ ├── ex_08.md │ │ │ ├── ex_09.md │ │ │ ├── ex_10.c │ │ │ ├── ex_11.c │ │ │ ├── ex_12.c │ │ │ ├── ex_13.md │ │ │ ├── ex_14.c │ │ │ ├── ex_15.md │ │ │ ├── ex_16.md │ │ │ ├── ex_17.c │ │ │ └── program_parts/ │ │ │ ├── invent.c │ │ │ ├── makefile │ │ │ ├── readline.c │ │ │ └── readline.h │ │ ├── ch17_指针的高级应用/ │ │ │ ├── build.sh │ │ │ ├── dir_ex_04/ │ │ │ │ ├── invent.c │ │ │ │ ├── makefile │ │ │ │ ├── readline.c │ │ │ │ └── readline.h │ │ │ ├── ex_01.c │ │ │ ├── ex_02.c │ │ │ ├── ex_03.c │ │ │ ├── ex_04.md │ │ │ ├── ex_05.c │ │ │ ├── ex_06.c │ │ │ ├── ex_07.md │ │ │ ├── ex_08.md │ │ │ ├── ex_09.md │ │ │ ├── ex_10.c │ │ │ ├── ex_11.md │ │ │ ├── ex_12.c │ │ │ ├── ex_13.c │ │ │ ├── ex_14.c │ │ │ ├── ex_15.md │ │ │ ├── ex_16.md │ │ │ ├── ex_17.c │ │ │ ├── list/ │ │ │ │ ├── list.c │ │ │ │ ├── list.h │ │ │ │ ├── main.c │ │ │ │ └── makefile │ │ │ ├── program_parts/ │ │ │ │ ├── invent.c │ │ │ │ ├── makefile │ │ │ │ ├── readline.c │ │ │ │ └── readline.h │ │ │ ├── remind2.c │ │ │ └── tabulate.c │ │ ├── ch18_声明/ │ │ │ ├── build.sh │ │ │ ├── ex_01.md │ │ │ ├── ex_02.md │ │ │ ├── ex_03.md │ │ │ ├── ex_04.c │ │ │ ├── ex_05.md │ │ │ ├── ex_06.c │ │ │ ├── ex_07.c │ │ │ ├── ex_08.c │ │ │ ├── ex_09.c │ │ │ ├── ex_10.c │ │ │ ├── ex_11.c │ │ │ ├── ex_12.md │ │ │ └── example_register.c │ │ ├── ch19_程序设计/ │ │ │ ├── build.sh │ │ │ ├── ex_01.c │ │ │ ├── ex_02.md │ │ │ ├── ex_03.md │ │ │ ├── ex_04.md │ │ │ ├── ex_05.md │ │ │ ├── ex_06.md │ │ │ ├── ex_07.cpp │ │ │ ├── ex_08.md │ │ │ ├── ex_09.md │ │ │ ├── ex_10.md │ │ │ ├── queue/ │ │ │ │ ├── main.c │ │ │ │ ├── makefile │ │ │ │ ├── queue.h │ │ │ │ ├── queue_impl1.c │ │ │ │ └── queue_impl2.c │ │ │ ├── queue2/ │ │ │ │ ├── main.c │ │ │ │ ├── makefile │ │ │ │ ├── queue.c │ │ │ │ └── queue.h │ │ │ ├── queue3/ │ │ │ │ ├── main.cpp │ │ │ │ ├── makefile │ │ │ │ ├── queue.cpp │ │ │ │ └── queue.h │ │ │ ├── queue4/ │ │ │ │ ├── main.cpp │ │ │ │ ├── makefile │ │ │ │ ├── queue.cpp │ │ │ │ └── queue.h │ │ │ └── stack/ │ │ │ ├── main.c │ │ │ ├── makefile │ │ │ ├── stack.c │ │ │ └── stack.h │ │ ├── ch20_低级程序设计/ │ │ │ ├── build.sh │ │ │ ├── ex_01.c │ │ │ ├── ex_02.c │ │ │ ├── ex_03.c │ │ │ ├── ex_04.c │ │ │ ├── ex_05.c │ │ │ ├── ex_06.c │ │ │ ├── ex_07.c │ │ │ ├── ex_08.c │ │ │ ├── ex_09.c │ │ │ ├── ex_10.c │ │ │ ├── test_bit_field.c │ │ │ └── xor.c │ │ ├── ch21_标准库/ │ │ │ ├── build.sh │ │ │ ├── ex_01.md │ │ │ ├── ex_02.md │ │ │ ├── ex_03.c │ │ │ ├── ex_04.md │ │ │ └── ex_05.c │ │ ├── ch22_输入_输出/ │ │ │ ├── build.sh │ │ │ ├── canopen.c │ │ │ ├── dir_ex_19/ │ │ │ │ ├── invent.c │ │ │ │ ├── makefile │ │ │ │ ├── readline.c │ │ │ │ └── readline.h │ │ │ ├── dir_ex_21/ │ │ │ │ ├── invent.c │ │ │ │ ├── makefile │ │ │ │ ├── readline.c │ │ │ │ └── readline.h │ │ │ ├── ex_01.md │ │ │ ├── ex_02.md │ │ │ ├── ex_03.c │ │ │ ├── ex_04.c │ │ │ ├── ex_05.c │ │ │ ├── ex_06.c │ │ │ ├── ex_07.c │ │ │ ├── ex_08.c │ │ │ ├── ex_09.c │ │ │ ├── ex_10.md │ │ │ ├── ex_11.md │ │ │ ├── ex_12.c │ │ │ ├── ex_13.c │ │ │ ├── ex_14.c │ │ │ ├── ex_15.c │ │ │ ├── ex_16.c │ │ │ ├── ex_17.c │ │ │ ├── ex_18.c │ │ │ ├── ex_19.md │ │ │ ├── ex_20.c │ │ │ ├── ex_21.md │ │ │ ├── ex_22.c │ │ │ ├── ex_23.c │ │ │ ├── fcopy.c │ │ │ ├── invclear.c │ │ │ ├── invent │ │ │ ├── invent.rle │ │ │ └── test_enter.c │ │ ├── ch23_库对数值和字符数据的支持/ │ │ │ ├── build.sh │ │ │ ├── ex_01.c │ │ │ ├── ex_02.c │ │ │ ├── ex_03.c │ │ │ ├── ex_04.c │ │ │ ├── ex_05.c │ │ │ ├── ex_06.c │ │ │ ├── ex_07.c │ │ │ ├── ex_08.c │ │ │ ├── ex_09.md │ │ │ ├── ex_10.c │ │ │ ├── ex_11.c │ │ │ ├── ex_12.c │ │ │ ├── ex_13.c │ │ │ └── tcasemap.c │ │ ├── ch24_错误处理/ │ │ │ ├── build.sh │ │ │ ├── dir_ex_04/ │ │ │ │ ├── invent.c │ │ │ │ ├── makefile │ │ │ │ ├── readline.c │ │ │ │ └── readline.h │ │ │ ├── ex_01.md │ │ │ ├── ex_02.c │ │ │ ├── ex_03.c │ │ │ ├── ex_04.md │ │ │ ├── tsetjmp.c │ │ │ └── tsignal.c │ │ ├── ch25_国际化特性/ │ │ │ ├── build.sh │ │ │ ├── ex_01.c │ │ │ ├── ex_02.c │ │ │ ├── ex_03.c │ │ │ └── ex_04.md │ │ ├── ch26_其他库函数/ │ │ │ ├── airmiles.c │ │ │ ├── build.sh │ │ │ ├── datetime.c │ │ │ ├── errorf.c │ │ │ ├── ex_01.c │ │ │ ├── ex_02.c │ │ │ ├── ex_03.c │ │ │ ├── ex_04.c │ │ │ ├── ex_05.c │ │ │ ├── ex_06.c │ │ │ ├── ex_07.c │ │ │ ├── ex_08.c │ │ │ ├── ex_09.c │ │ │ ├── ex_10.c │ │ │ ├── ex_11.c │ │ │ ├── ex_12.c │ │ │ ├── ex_13.c │ │ │ ├── ex_14.c │ │ │ ├── max_int.c │ │ │ ├── trand.c │ │ │ └── tstrconv.c │ │ └── gen_readme.sh │ └── CppPrimer/ │ ├── README.md │ ├── build_all.sh │ ├── ch01_Getting_Started/ │ │ ├── Sales_item.h │ │ ├── build.sh │ │ ├── data/ │ │ │ ├── add_item │ │ │ └── book_sales │ │ ├── example_comments.cpp │ │ ├── example_for.cpp │ │ ├── example_if.cpp │ │ ├── example_iostream.cpp │ │ ├── example_main.cpp │ │ ├── example_while.cpp │ │ ├── exercise_1_01.cpp │ │ ├── exercise_1_02.cpp │ │ ├── exercise_1_03.cpp │ │ ├── exercise_1_04.cpp │ │ ├── exercise_1_05.cpp │ │ ├── exercise_1_06.cpp │ │ ├── exercise_1_07.cpp │ │ ├── exercise_1_08.cpp │ │ ├── exercise_1_09.cpp │ │ ├── exercise_1_10.cpp │ │ ├── exercise_1_11.cpp │ │ ├── exercise_1_12.cpp │ │ ├── exercise_1_13.cpp │ │ ├── exercise_1_14.cpp │ │ ├── exercise_1_15.cpp │ │ ├── exercise_1_16.cpp │ │ ├── exercise_1_17.cpp │ │ ├── exercise_1_18.cpp │ │ ├── exercise_1_19.cpp │ │ ├── exercise_1_20.cpp │ │ ├── exercise_1_21.cpp │ │ ├── exercise_1_22.cpp │ │ ├── exercise_1_23.cpp │ │ ├── exercise_1_24.cpp │ │ ├── exercise_1_25.cpp │ │ ├── test_clog.cpp │ │ ├── usage_Sales_item_avg_price.cpp │ │ ├── usage_add_Sales_item.cpp │ │ └── usage_read_inputs.cpp │ ├── ch02_Variables_and_Basic_Types/ │ │ ├── Sales_data.h │ │ ├── build.sh │ │ ├── data/ │ │ │ ├── add_item │ │ │ └── book_sales │ │ ├── exercise_2_01.txt │ │ ├── exercise_2_02.txt │ │ ├── exercise_2_03.txt │ │ ├── exercise_2_04.cpp │ │ ├── exercise_2_05.txt │ │ ├── exercise_2_06.cpp │ │ ├── exercise_2_07.cpp │ │ ├── exercise_2_08.cpp │ │ ├── exercise_2_09.cpp │ │ ├── exercise_2_10.cpp │ │ ├── exercise_2_11.txt │ │ ├── exercise_2_12.txt │ │ ├── exercise_2_13.cpp │ │ ├── exercise_2_14.cpp │ │ ├── exercise_2_15.txt │ │ ├── exercise_2_16.cpp │ │ ├── exercise_2_17.cpp │ │ ├── exercise_2_18.cpp │ │ ├── exercise_2_19.txt │ │ ├── exercise_2_20.cpp │ │ ├── exercise_2_21.txt │ │ ├── exercise_2_22.txt │ │ ├── exercise_2_23.txt │ │ ├── exercise_2_24.txt │ │ ├── exercise_2_25.txt │ │ ├── exercise_2_26.txt │ │ ├── exercise_2_27.cpp │ │ ├── exercise_2_28.txt │ │ ├── exercise_2_29.txt │ │ ├── exercise_2_30.txt │ │ ├── exercise_2_31.txt │ │ ├── exercise_2_32.txt │ │ ├── exercise_2_33.txt │ │ ├── exercise_2_34.cpp │ │ ├── exercise_2_35.cpp │ │ ├── exercise_2_36.cpp │ │ ├── exercise_2_37.txt │ │ ├── exercise_2_38.md │ │ ├── exercise_2_39.cpp │ │ ├── exercise_2_40.cpp │ │ ├── exercise_2_41.cpp │ │ ├── exercise_2_42.cpp │ │ ├── test_char.cpp │ │ ├── test_list_initialization.cpp │ │ └── test_literal.cpp │ ├── ch03_Strings_Vectors_and_Arrays/ │ │ ├── build.sh │ │ ├── example_getline.cpp │ │ ├── example_normal_array_simulate_dimensional_array.cpp │ │ ├── example_push_back.cpp │ │ ├── example_range_for.cpp │ │ ├── example_read_string.cpp │ │ ├── example_using_iterators.cpp │ │ ├── example_using_subscript.cpp │ │ ├── exercise_3_01.cpp │ │ ├── exercise_3_02.cpp │ │ ├── exercise_3_03.txt │ │ ├── exercise_3_04a.cpp │ │ ├── exercise_3_04b.cpp │ │ ├── exercise_3_05a.cpp │ │ ├── exercise_3_05b.cpp │ │ ├── exercise_3_06.cpp │ │ ├── exercise_3_07.cpp │ │ ├── exercise_3_08a.cpp │ │ ├── exercise_3_08b.cpp │ │ ├── exercise_3_09.txt │ │ ├── exercise_3_10.cpp │ │ ├── exercise_3_11.txt │ │ ├── exercise_3_12.txt │ │ ├── exercise_3_13.cpp │ │ ├── exercise_3_14.cpp │ │ ├── exercise_3_15.cpp │ │ ├── exercise_3_16.cpp │ │ ├── exercise_3_17.cpp │ │ ├── exercise_3_18.txt │ │ ├── exercise_3_19.cpp │ │ ├── exercise_3_20a.cpp │ │ ├── exercise_3_20b.cpp │ │ ├── exercise_3_21.cpp │ │ ├── exercise_3_22.cpp │ │ ├── exercise_3_23.cpp │ │ ├── exercise_3_24a.cpp │ │ ├── exercise_3_24b.cpp │ │ ├── exercise_3_25.cpp │ │ ├── exercise_3_26.txt │ │ ├── exercise_3_27.txt │ │ ├── exercise_3_28.cpp │ │ ├── exercise_3_29.txt │ │ ├── exercise_3_30.txt │ │ ├── exercise_3_31.cpp │ │ ├── exercise_3_32a.cpp │ │ ├── exercise_3_32b.cpp │ │ ├── exercise_3_33.txt │ │ ├── exercise_3_34.txt │ │ ├── exercise_3_35.cpp │ │ ├── exercise_3_36a.cpp │ │ ├── exercise_3_36b.cpp │ │ ├── exercise_3_37.cpp │ │ ├── exercise_3_38.txt │ │ ├── exercise_3_39a.cpp │ │ ├── exercise_3_39b.cpp │ │ ├── exercise_3_40.cpp │ │ ├── exercise_3_41.cpp │ │ ├── exercise_3_42.cpp │ │ ├── exercise_3_43a.cpp │ │ ├── exercise_3_43b.cpp │ │ ├── exercise_3_43c.cpp │ │ ├── exercise_3_44.cpp │ │ ├── exercise_3_45.cpp │ │ ├── usage_bsearch.cpp │ │ ├── usage_count_punct_in_string.cpp │ │ └── usage_string_toupper.cpp │ ├── ch04_Expressions/ │ │ ├── build.sh │ │ ├── example_comma_operator.cpp │ │ ├── example_increment_operator.cpp │ │ ├── exercise_4_01.txt │ │ ├── exercise_4_02.txt │ │ ├── exercise_4_03.txt │ │ ├── exercise_4_04.cpp │ │ ├── exercise_4_05.txt │ │ ├── exercise_4_06.txt │ │ ├── exercise_4_07.cpp │ │ ├── exercise_4_08.txt │ │ ├── exercise_4_09.txt │ │ ├── exercise_4_10.cpp │ │ ├── exercise_4_11.txt │ │ ├── exercise_4_12.txt │ │ ├── exercise_4_13.cpp │ │ ├── exercise_4_14.txt │ │ ├── exercise_4_15.txt │ │ ├── exercise_4_16.cpp │ │ ├── exercise_4_17.txt │ │ ├── exercise_4_18.txt │ │ ├── exercise_4_19.txt │ │ ├── exercise_4_20.txt │ │ ├── exercise_4_21.cpp │ │ ├── exercise_4_22a.cpp │ │ ├── exercise_4_22b.cpp │ │ ├── exercise_4_23.cpp │ │ ├── exercise_4_24.txt │ │ ├── exercise_4_25.cpp │ │ ├── exercise_4_26.txt │ │ ├── exercise_4_27.cpp │ │ ├── exercise_4_28.cpp │ │ ├── exercise_4_29.cpp │ │ ├── exercise_4_30.txt │ │ ├── exercise_4_31.cpp │ │ ├── exercise_4_32.txt │ │ ├── exercise_4_33.txt │ │ ├── exercise_4_34.txt │ │ ├── exercise_4_35.txt │ │ ├── exercise_4_36.txt │ │ ├── exercise_4_37.txt │ │ ├── exercise_4_38.txt │ │ ├── test_bitwise_oparator.cpp │ │ └── test_sizeof.cpp │ ├── ch05_Statements/ │ │ ├── build.sh │ │ ├── data/ │ │ │ └── vowels.txt │ │ ├── example_do_while.cpp │ │ ├── example_if_statement.cpp │ │ ├── exercise_5_01.txt │ │ ├── exercise_5_02.txt │ │ ├── exercise_5_03.cpp │ │ ├── exercise_5_04.txt │ │ ├── exercise_5_05.cpp │ │ ├── exercise_5_06.cpp │ │ ├── exercise_5_07.txt │ │ ├── exercise_5_08.txt │ │ ├── exercise_5_09.cpp │ │ ├── exercise_5_10.cpp │ │ ├── exercise_5_11.cpp │ │ ├── exercise_5_12.cpp │ │ ├── exercise_5_13.txt │ │ ├── exercise_5_14.cpp │ │ ├── exercise_5_15.txt │ │ ├── exercise_5_16a.cpp │ │ ├── exercise_5_16b.cpp │ │ ├── exercise_5_16c.cpp │ │ ├── exercise_5_16d.cpp │ │ ├── exercise_5_17.cpp │ │ ├── exercise_5_18.txt │ │ ├── exercise_5_19.cpp │ │ ├── exercise_5_20.cpp │ │ ├── exercise_5_21.cpp │ │ ├── exercise_5_22.txt │ │ ├── exercise_5_23.cpp │ │ ├── exercise_5_24.cpp │ │ └── exercise_5_25.cpp │ ├── ch06_Functions/ │ │ ├── Chapter6.h │ │ ├── build.sh │ │ ├── example_array_param.cpp │ │ ├── example_const_cast_and_overloading.cpp │ │ ├── example_functions_with_no_return_value.cpp │ │ ├── example_initializer_list_param.cpp │ │ ├── example_inline_functions.cpp │ │ ├── example_passing_a_multidimensional_array.cpp │ │ ├── example_preprocessor_variable.cpp │ │ ├── example_recursion.cpp │ │ ├── example_return_from_main.cpp │ │ ├── example_returning_a_pointer_to_an_array.cpp │ │ ├── example_using_ref_to_avoid_cp.cpp │ │ ├── example_using_ref_to_return_info.cpp │ │ ├── exercise_6_01.txt │ │ ├── exercise_6_02.txt │ │ ├── exercise_6_03.cpp │ │ ├── exercise_6_04.cpp │ │ ├── exercise_6_05.cpp │ │ ├── exercise_6_06.cpp │ │ ├── exercise_6_07.cpp │ │ ├── exercise_6_08.txt │ │ ├── exercise_6_09/ │ │ │ ├── build.sh │ │ │ ├── exercise_6_09.txt │ │ │ ├── fact.cc │ │ │ └── factMain.cc │ │ ├── exercise_6_10.cpp │ │ ├── exercise_6_11.cpp │ │ ├── exercise_6_12.cpp │ │ ├── exercise_6_13.txt │ │ ├── exercise_6_14.txt │ │ ├── exercise_6_15.txt │ │ ├── exercise_6_16.md │ │ ├── exercise_6_17.cpp │ │ ├── exercise_6_18.md │ │ ├── exercise_6_19.md │ │ ├── exercise_6_20.md │ │ ├── exercise_6_21.cpp │ │ ├── exercise_6_22.cpp │ │ ├── exercise_6_23.cpp │ │ ├── exercise_6_24.cpp │ │ ├── exercise_6_25.cpp │ │ ├── exercise_6_26.cpp │ │ ├── exercise_6_27.cpp │ │ ├── exercise_6_28.md │ │ ├── exercise_6_29.md │ │ ├── exercise_6_30.cpp │ │ ├── exercise_6_31.md │ │ ├── exercise_6_32.md │ │ ├── exercise_6_33.cpp │ │ ├── exercise_6_34.cpp │ │ ├── exercise_6_35.md │ │ ├── exercise_6_36.cpp │ │ ├── exercise_6_37.cpp │ │ ├── exercise_6_38.cpp │ │ ├── exercise_6_39.md │ │ ├── exercise_6_40.md │ │ ├── exercise_6_41.md │ │ ├── exercise_6_42.cpp │ │ ├── exercise_6_43.md │ │ ├── exercise_6_44.cpp │ │ ├── exercise_6_45.md │ │ ├── exercise_6_46.cpp │ │ ├── exercise_6_47.cpp │ │ ├── exercise_6_48.md │ │ ├── exercise_6_49.md │ │ ├── exercise_6_50.md │ │ ├── exercise_6_51.cpp │ │ ├── exercise_6_52.md │ │ ├── exercise_6_53.md │ │ ├── exercise_6_54.cpp │ │ ├── exercise_6_55.cpp │ │ └── exercise_6_56.cpp │ ├── ch07_Classes/ │ │ ├── build.sh │ │ ├── data/ │ │ │ ├── add_item │ │ │ └── book_sales │ │ ├── example_Account/ │ │ │ ├── Account.cpp │ │ │ ├── Account.h │ │ │ ├── Makefile │ │ │ └── main.cpp │ │ ├── example_Person.cpp │ │ ├── example_Sales_data/ │ │ │ ├── Makefile │ │ │ ├── Sales_data.h │ │ │ ├── exceptions.h │ │ │ └── main.cpp │ │ ├── example_Screen/ │ │ │ ├── Makefile │ │ │ ├── Screen.h │ │ │ ├── Window_mgr.h │ │ │ └── main.cpp │ │ ├── example_literal_classes/ │ │ │ ├── Debug.h │ │ │ ├── Makefile │ │ │ └── main.cpp │ │ ├── exercise_7_01.cpp │ │ ├── exercise_7_02.cpp │ │ ├── exercise_7_03.cpp │ │ ├── exercise_7_04.cpp │ │ ├── exercise_7_05.cpp │ │ ├── exercise_7_06.cpp │ │ ├── exercise_7_07.cpp │ │ ├── exercise_7_08.md │ │ ├── exercise_7_09.cpp │ │ ├── exercise_7_10.md │ │ ├── exercise_7_11.cpp │ │ ├── exercise_7_12.cpp │ │ ├── exercise_7_13.cpp │ │ ├── exercise_7_14.md │ │ ├── exercise_7_15.cpp │ │ ├── exercise_7_16.md │ │ ├── exercise_7_17.md │ │ ├── exercise_7_18.md │ │ ├── exercise_7_19.cpp │ │ ├── exercise_7_20.md │ │ ├── exercise_7_21.md │ │ ├── exercise_7_22.cpp │ │ ├── exercise_7_23.cpp │ │ ├── exercise_7_24.cpp │ │ ├── exercise_7_25.md │ │ ├── exercise_7_26.md │ │ ├── exercise_7_27.cpp │ │ ├── exercise_7_28.md │ │ ├── exercise_7_29.cpp │ │ ├── exercise_7_30.md │ │ ├── exercise_7_31.cpp │ │ ├── exercise_7_32.cpp │ │ ├── exercise_7_33.md │ │ ├── exercise_7_34.md │ │ ├── exercise_7_35.cpp │ │ ├── exercise_7_36.cpp │ │ ├── exercise_7_37.md │ │ ├── exercise_7_38.cpp │ │ ├── exercise_7_39.md │ │ ├── exercise_7_40.cpp │ │ ├── exercise_7_41.cpp │ │ ├── exercise_7_42.cpp │ │ ├── exercise_7_43.cpp │ │ ├── exercise_7_44.md │ │ ├── exercise_7_45.md │ │ ├── exercise_7_46.md │ │ ├── exercise_7_47.md │ │ ├── exercise_7_48.md │ │ ├── exercise_7_49.md │ │ ├── exercise_7_50.md │ │ ├── exercise_7_51.md │ │ ├── exercise_7_52.md │ │ ├── exercise_7_53.md │ │ ├── exercise_7_54.md │ │ ├── exercise_7_55.md │ │ ├── exercise_7_56.md │ │ ├── exercise_7_57.md │ │ ├── exercise_7_58.md │ │ └── test_incomplete_type.cpp │ ├── ch08_The_IO_Library/ │ │ ├── build.sh │ │ ├── data/ │ │ │ ├── person_numbers.txt │ │ │ └── some_words.txt │ │ ├── example_fstream.cpp │ │ ├── example_istringstream.cpp │ │ ├── exercise_8_01.cpp │ │ ├── exercise_8_02.md │ │ ├── exercise_8_03.md │ │ ├── exercise_8_04.cpp │ │ ├── exercise_8_05.cpp │ │ ├── exercise_8_06.cpp │ │ ├── exercise_8_07.cpp │ │ ├── exercise_8_08.cpp │ │ ├── exercise_8_09.cpp │ │ ├── exercise_8_10.cpp │ │ ├── exercise_8_11.cpp │ │ ├── exercise_8_12.md │ │ ├── exercise_8_13.cpp │ │ └── exercise_8_14.md │ ├── ch09_Sequential_Containers/ │ │ ├── build.sh │ │ ├── data/ │ │ │ └── letter.txt │ │ ├── example_capacity_size.cpp │ │ ├── example_change_container_in_loop.cpp │ │ ├── example_erase.cpp │ │ ├── example_forward_list.cpp │ │ ├── example_insert.cpp │ │ ├── example_iterator_range.cpp │ │ ├── exercise_9_01.md │ │ ├── exercise_9_02.cpp │ │ ├── exercise_9_03.md │ │ ├── exercise_9_04.cpp │ │ ├── exercise_9_05.cpp │ │ ├── exercise_9_06.md │ │ ├── exercise_9_07.md │ │ ├── exercise_9_08.md │ │ ├── exercise_9_09.md │ │ ├── exercise_9_10.md │ │ ├── exercise_9_11.cpp │ │ ├── exercise_9_12.md │ │ ├── exercise_9_13.cpp │ │ ├── exercise_9_14.cpp │ │ ├── exercise_9_15.cpp │ │ ├── exercise_9_16.cpp │ │ ├── exercise_9_17.md │ │ ├── exercise_9_18.cpp │ │ ├── exercise_9_19.cpp │ │ ├── exercise_9_20.cpp │ │ ├── exercise_9_21.md │ │ ├── exercise_9_22.md │ │ ├── exercise_9_23.md │ │ ├── exercise_9_24.cpp │ │ ├── exercise_9_25.cpp │ │ ├── exercise_9_26.cpp │ │ ├── exercise_9_27.cpp │ │ ├── exercise_9_28.cpp │ │ ├── exercise_9_29.md │ │ ├── exercise_9_30.md │ │ ├── exercise_9_31.cpp │ │ ├── exercise_9_32.md │ │ ├── exercise_9_33.cpp │ │ ├── exercise_9_34.cpp │ │ ├── exercise_9_35.md │ │ ├── exercise_9_36.md │ │ ├── exercise_9_37.md │ │ ├── exercise_9_38.cpp │ │ ├── exercise_9_39.md │ │ ├── exercise_9_40.cpp │ │ ├── exercise_9_41.cpp │ │ ├── exercise_9_42.md │ │ ├── exercise_9_43.cpp │ │ ├── exercise_9_44.cpp │ │ ├── exercise_9_45.cpp │ │ ├── exercise_9_46.cpp │ │ ├── exercise_9_47.cpp │ │ ├── exercise_9_48.cpp │ │ ├── exercise_9_49.cpp │ │ ├── exercise_9_50.cpp │ │ ├── exercise_9_51.cpp │ │ └── exercise_9_52.cpp │ ├── ch10_Generic_Algorithms/ │ │ ├── build.sh │ │ ├── example_back_inserter.cpp │ │ ├── example_istream_iterator.cpp │ │ ├── example_lambda.cpp │ │ ├── example_ostream_iterator.cpp │ │ ├── example_stable_partition.cpp │ │ ├── example_stable_sort.cpp │ │ ├── example_unique.cpp │ │ ├── exercise_10_01.cpp │ │ ├── exercise_10_02.cpp │ │ ├── exercise_10_03.cpp │ │ ├── exercise_10_04.cpp │ │ ├── exercise_10_05.md │ │ ├── exercise_10_06.cpp │ │ ├── exercise_10_07.md │ │ ├── exercise_10_08.md │ │ ├── exercise_10_09.cpp │ │ ├── exercise_10_10.md │ │ ├── exercise_10_11.cpp │ │ ├── exercise_10_12.cpp │ │ ├── exercise_10_13.cpp │ │ ├── exercise_10_14.cpp │ │ ├── exercise_10_15.cpp │ │ ├── exercise_10_16.cpp │ │ ├── exercise_10_17.cpp │ │ ├── exercise_10_18.cpp │ │ ├── exercise_10_19.cpp │ │ ├── exercise_10_20.cpp │ │ ├── exercise_10_21.cpp │ │ ├── exercise_10_22.cpp │ │ ├── exercise_10_23.md │ │ ├── exercise_10_24.cpp │ │ ├── exercise_10_25.cpp │ │ ├── exercise_10_26.md │ │ ├── exercise_10_27.cpp │ │ ├── exercise_10_28.cpp │ │ ├── exercise_10_29.cpp │ │ ├── exercise_10_30.cpp │ │ ├── exercise_10_31.cpp │ │ ├── exercise_10_32.cpp │ │ ├── exercise_10_33.cpp │ │ ├── exercise_10_34.cpp │ │ ├── exercise_10_35.cpp │ │ ├── exercise_10_36.cpp │ │ ├── exercise_10_37.cpp │ │ ├── exercise_10_38.md │ │ ├── exercise_10_39.md │ │ ├── exercise_10_40.md │ │ ├── exercise_10_41.md │ │ └── exercise_10_42.cpp │ ├── ch11_Associative_Containers/ │ │ ├── build.sh │ │ ├── data/ │ │ │ ├── test_rules.txt │ │ │ └── trans_rules.txt │ │ ├── example_init_multiset.cpp │ │ ├── example_make_pair.cpp │ │ ├── example_map.cpp │ │ ├── example_multimap_find.cpp │ │ ├── example_set.cpp │ │ ├── example_unordered_set.cpp │ │ ├── example_word_transform.cpp │ │ ├── exercise_11_01.md │ │ ├── exercise_11_02.md │ │ ├── exercise_11_03.cpp │ │ ├── exercise_11_04.cpp │ │ ├── exercise_11_05.md │ │ ├── exercise_11_06.md │ │ ├── exercise_11_07.cpp │ │ ├── exercise_11_08.cpp │ │ ├── exercise_11_09.cpp │ │ ├── exercise_11_10.md │ │ ├── exercise_11_11.cpp │ │ ├── exercise_11_12.cpp │ │ ├── exercise_11_13.cpp │ │ ├── exercise_11_14.cpp │ │ ├── exercise_11_15.md │ │ ├── exercise_11_16.md │ │ ├── exercise_11_17.cpp │ │ ├── exercise_11_18.md │ │ ├── exercise_11_19.cpp │ │ ├── exercise_11_20.cpp │ │ ├── exercise_11_21.md │ │ ├── exercise_11_22.md │ │ ├── exercise_11_23.cpp │ │ ├── exercise_11_24.md │ │ ├── exercise_11_25.md │ │ ├── exercise_11_26.md │ │ ├── exercise_11_27.md │ │ ├── exercise_11_28.cpp │ │ ├── exercise_11_29.md │ │ ├── exercise_11_30.md │ │ ├── exercise_11_31.cpp │ │ ├── exercise_11_32.cpp │ │ ├── exercise_11_33.cpp │ │ ├── exercise_11_34.md │ │ ├── exercise_11_35.md │ │ ├── exercise_11_36.md │ │ ├── exercise_11_37.md │ │ └── exercise_11_38.cpp │ ├── ch12_Dynamic_Memory/ │ │ ├── build.sh │ │ ├── example_StrBlob/ │ │ │ ├── Makefile │ │ │ ├── StrBlob.cpp │ │ │ ├── StrBlob.h │ │ │ └── main.cpp │ │ ├── example_StrBlobPtr/ │ │ │ ├── ConstStrBlobPtr.cpp │ │ │ ├── ConstStrBlobPtr.h │ │ │ ├── Makefile │ │ │ ├── StrBlob.cpp │ │ │ ├── StrBlob.h │ │ │ ├── StrBlobPtr.cpp │ │ │ ├── StrBlobPtr.h │ │ │ └── main.cpp │ │ ├── example_TextQuery/ │ │ │ ├── Makefile │ │ │ ├── QueryResult.cpp │ │ │ ├── QueryResult.h │ │ │ ├── TextQuery.cpp │ │ │ ├── TextQuery.h │ │ │ └── main.cpp │ │ ├── example_TextQuery2/ │ │ │ ├── Makefile │ │ │ ├── QueryResult.cpp │ │ │ ├── QueryResult.h │ │ │ ├── TextQuery.cpp │ │ │ ├── TextQuery.h │ │ │ └── main.cpp │ │ ├── example_TextQuery_use_StrVec/ │ │ │ ├── Makefile │ │ │ ├── QueryResult.cpp │ │ │ ├── QueryResult.h │ │ │ ├── StrVec.cpp │ │ │ ├── StrVec.h │ │ │ ├── TextQuery.cpp │ │ │ ├── TextQuery.h │ │ │ └── main.cpp │ │ ├── example_allocator.cpp │ │ ├── example_using_own_deletion.cpp │ │ ├── exercise_12_01.cpp │ │ ├── exercise_12_02.md │ │ ├── exercise_12_03.md │ │ ├── exercise_12_04.md │ │ ├── exercise_12_05.md │ │ ├── exercise_12_06.cpp │ │ ├── exercise_12_07.cpp │ │ ├── exercise_12_08.md │ │ ├── exercise_12_09.md │ │ ├── exercise_12_10.md │ │ ├── exercise_12_11.md │ │ ├── exercise_12_12.md │ │ ├── exercise_12_13.md │ │ ├── exercise_12_14.md │ │ ├── exercise_12_15.cpp │ │ ├── exercise_12_16.cpp │ │ ├── exercise_12_17.md │ │ ├── exercise_12_18.md │ │ ├── exercise_12_19.md │ │ ├── exercise_12_20.cpp │ │ ├── exercise_12_21.md │ │ ├── exercise_12_22.md │ │ ├── exercise_12_23.cpp │ │ ├── exercise_12_24.cpp │ │ ├── exercise_12_25.md │ │ ├── exercise_12_26.cpp │ │ ├── exercise_12_27.cpp │ │ ├── exercise_12_28.cpp │ │ ├── exercise_12_29.md │ │ ├── exercise_12_30.md │ │ ├── exercise_12_31.md │ │ ├── exercise_12_32.cpp │ │ └── exercise_12_33.md │ ├── ch13_Copy_Control/ │ │ ├── build.sh │ │ ├── example_Copy_Control/ │ │ │ ├── Folder.cpp │ │ │ ├── Folder.h │ │ │ ├── Makefile │ │ │ ├── Message.cpp │ │ │ ├── Message.h │ │ │ └── main.cpp │ │ ├── example_Reference_Count/ │ │ │ ├── HasPtr.cpp │ │ │ ├── HasPtr.h │ │ │ ├── Makefile │ │ │ └── main.cpp │ │ ├── example_Reference_Qualifier/ │ │ │ ├── Makefile │ │ │ └── main.cpp │ │ ├── example_StrVec/ │ │ │ ├── Makefile │ │ │ ├── StrVec.cpp │ │ │ ├── StrVec.h │ │ │ └── main.cpp │ │ ├── example_String/ │ │ │ ├── Makefile │ │ │ ├── String.cpp │ │ │ ├── String.h │ │ │ └── main.cpp │ │ ├── exercise_13_01.md │ │ ├── exercise_13_02.md │ │ ├── exercise_13_03.md │ │ ├── exercise_13_04.md │ │ ├── exercise_13_05.cpp │ │ ├── exercise_13_06.md │ │ ├── exercise_13_07.md │ │ ├── exercise_13_08.cpp │ │ ├── exercise_13_09.md │ │ ├── exercise_13_10.md │ │ ├── exercise_13_11.cpp │ │ ├── exercise_13_12.md │ │ ├── exercise_13_13.cpp │ │ ├── exercise_13_14.md │ │ ├── exercise_13_15.md │ │ ├── exercise_13_16.md │ │ ├── exercise_13_17.cpp │ │ ├── exercise_13_18.cpp │ │ ├── exercise_13_19.cpp │ │ ├── exercise_13_20.md │ │ ├── exercise_13_21.md │ │ ├── exercise_13_22.md │ │ ├── exercise_13_23.md │ │ ├── exercise_13_24.md │ │ ├── exercise_13_25.md │ │ ├── exercise_13_26.cpp │ │ ├── exercise_13_27.md │ │ ├── exercise_13_28.cpp │ │ ├── exercise_13_29.md │ │ ├── exercise_13_30.cpp │ │ ├── exercise_13_31.cpp │ │ ├── exercise_13_32.md │ │ ├── exercise_13_33.md │ │ ├── exercise_13_34.md │ │ ├── exercise_13_35.md │ │ ├── exercise_13_36.md │ │ ├── exercise_13_37.md │ │ ├── exercise_13_38.md │ │ ├── exercise_13_39.md │ │ ├── exercise_13_40.md │ │ ├── exercise_13_41.md │ │ ├── exercise_13_42.md │ │ ├── exercise_13_43.md │ │ ├── exercise_13_44.md │ │ ├── exercise_13_45.md │ │ ├── exercise_13_46.md │ │ ├── exercise_13_47.md │ │ ├── exercise_13_48.md │ │ ├── exercise_13_49.md │ │ ├── exercise_13_50.md │ │ ├── exercise_13_51.md │ │ ├── exercise_13_52.md │ │ ├── exercise_13_53.cpp │ │ ├── exercise_13_54.md │ │ ├── exercise_13_55.md │ │ ├── exercise_13_56.md │ │ ├── exercise_13_57.md │ │ └── exercise_13_58.cpp │ ├── ch14_Overloaded_Operations_and_Conversions/ │ │ ├── build.sh │ │ ├── example_conversion_operators.cpp │ │ ├── example_function-call_operator.cpp │ │ ├── example_function.cpp │ │ ├── example_std_funcobj.cpp │ │ ├── exercise_14_01.md │ │ ├── exercise_14_02.md │ │ ├── exercise_14_03.md │ │ ├── exercise_14_04.md │ │ ├── exercise_14_05.cpp │ │ ├── exercise_14_06.md │ │ ├── exercise_14_07.md │ │ ├── exercise_14_08.md │ │ ├── exercise_14_09.md │ │ ├── exercise_14_10.md │ │ ├── exercise_14_11.md │ │ ├── exercise_14_12.md │ │ ├── exercise_14_13.md │ │ ├── exercise_14_14.md │ │ ├── exercise_14_15.md │ │ ├── exercise_14_16.md │ │ ├── exercise_14_17.md │ │ ├── exercise_14_18.md │ │ ├── exercise_14_19.md │ │ ├── exercise_14_20.md │ │ ├── exercise_14_21.md │ │ ├── exercise_14_22.md │ │ ├── exercise_14_23.md │ │ ├── exercise_14_24.cpp │ │ ├── exercise_14_25.md │ │ ├── exercise_14_26.md │ │ ├── exercise_14_27.md │ │ ├── exercise_14_28.md │ │ ├── exercise_14_29.md │ │ ├── exercise_14_30.md │ │ ├── exercise_14_31.md │ │ ├── exercise_14_32.cpp │ │ ├── exercise_14_33.md │ │ ├── exercise_14_34.cpp │ │ ├── exercise_14_35.cpp │ │ ├── exercise_14_36.cpp │ │ ├── exercise_14_37.cpp │ │ ├── exercise_14_38.cpp │ │ ├── exercise_14_39.cpp │ │ ├── exercise_14_40.cpp │ │ ├── exercise_14_41.md │ │ ├── exercise_14_42.cpp │ │ ├── exercise_14_43.cpp │ │ ├── exercise_14_44.cpp │ │ ├── exercise_14_45.md │ │ ├── exercise_14_46.md │ │ ├── exercise_14_47.md │ │ ├── exercise_14_48.md │ │ ├── exercise_14_49.md │ │ ├── exercise_14_50.cpp │ │ ├── exercise_14_51.cpp │ │ ├── exercise_14_52.md │ │ └── exercise_14_53.cpp │ ├── ch15_Object-Oriented_Programming/ │ │ ├── build.sh │ │ ├── example_Access_Control_and_Inheritance/ │ │ │ ├── Makefile │ │ │ ├── classes.hpp │ │ │ └── main.cpp │ │ ├── example_TextQuery/ │ │ │ ├── Makefile │ │ │ ├── Query.cpp │ │ │ ├── Query.h │ │ │ ├── QueryResult.cpp │ │ │ ├── QueryResult.h │ │ │ ├── Query_ex15_37.h │ │ │ ├── Query_ex15_41.cpp.bak │ │ │ ├── Query_ex15_41.h │ │ │ ├── TextQuery.cpp │ │ │ ├── TextQuery.h │ │ │ └── main.cpp │ │ ├── example_abstract_base_class.cpp │ │ ├── example_base_class.cpp │ │ ├── example_basket.cpp │ │ ├── example_derived_class.cpp │ │ ├── example_derived_class_copy_control_members.cpp │ │ ├── exercise_15_01.md │ │ ├── exercise_15_02.md │ │ ├── exercise_15_03.md │ │ ├── exercise_15_04.md │ │ ├── exercise_15_05.md │ │ ├── exercise_15_06.cpp │ │ ├── exercise_15_07.cpp │ │ ├── exercise_15_08.md │ │ ├── exercise_15_09.md │ │ ├── exercise_15_10.md │ │ ├── exercise_15_11.md │ │ ├── exercise_15_12.md │ │ ├── exercise_15_13.md │ │ ├── exercise_15_14.md │ │ ├── exercise_15_15.md │ │ ├── exercise_15_16.cpp │ │ ├── exercise_15_17.md │ │ ├── exercise_15_18.cpp │ │ ├── exercise_15_19.cpp │ │ ├── exercise_15_20.md │ │ ├── exercise_15_21.cpp │ │ ├── exercise_15_22.md │ │ ├── exercise_15_23.cpp │ │ ├── exercise_15_24.md │ │ ├── exercise_15_25.md │ │ ├── exercise_15_26.md │ │ ├── exercise_15_27.cpp │ │ ├── exercise_15_28.md │ │ ├── exercise_15_29.md │ │ ├── exercise_15_30.md │ │ ├── exercise_15_31.md │ │ ├── exercise_15_32.md │ │ ├── exercise_15_33.md │ │ ├── exercise_15_34.md │ │ ├── exercise_15_35.md │ │ ├── exercise_15_36.md │ │ ├── exercise_15_37.md │ │ ├── exercise_15_38.md │ │ ├── exercise_15_39.md │ │ ├── exercise_15_40.md │ │ ├── exercise_15_41.md │ │ └── exercise_15_42.md │ ├── ch16_Templates_and_GenericProgramming/ │ │ ├── build.sh │ │ ├── example_Screen/ │ │ │ ├── Makefile │ │ │ ├── Screen.h │ │ │ └── main.cpp │ │ ├── example_SmartPointer/ │ │ │ ├── Makefile │ │ │ ├── SharedPtr.h │ │ │ ├── UniquePtr.h │ │ │ └── main.cpp │ │ ├── example_Vec/ │ │ │ ├── Makefile │ │ │ ├── Vec.h │ │ │ └── main.cpp │ │ ├── example_customer_MakeShared/ │ │ │ ├── MakeShared.h │ │ │ ├── Makefile │ │ │ └── main.cpp │ │ ├── example_explicit_instantiation/ │ │ │ ├── Application.cpp │ │ │ ├── Application.h │ │ │ ├── Makefile │ │ │ ├── TemplateBuild.cpp │ │ │ ├── TemplateBuild.h │ │ │ └── main.cpp │ │ ├── example_function_template.cpp │ │ ├── example_member_template/ │ │ │ ├── DebugDelete.h │ │ │ ├── Makefile │ │ │ └── main.cpp │ │ ├── example_overload_and_template.cpp │ │ ├── example_template_class/ │ │ │ ├── Blob.h │ │ │ ├── BlobPtr.h │ │ │ ├── Makefile │ │ │ └── main.cpp │ │ ├── example_variadic_template.cpp │ │ ├── example_variadic_template2.cpp │ │ ├── exercise_16_01.md │ │ ├── exercise_16_02.md │ │ ├── exercise_16_03.cpp │ │ ├── exercise_16_04.cpp │ │ ├── exercise_16_05.cpp │ │ ├── exercise_16_06.cpp │ │ ├── exercise_16_07.cpp │ │ ├── exercise_16_08.md │ │ ├── exercise_16_09.md │ │ ├── exercise_16_10.md │ │ ├── exercise_16_11.cpp │ │ ├── exercise_16_12.md │ │ ├── exercise_16_13.md │ │ ├── exercise_16_14.md │ │ ├── exercise_16_15.md │ │ ├── exercise_16_16.md │ │ ├── exercise_16_17.md │ │ ├── exercise_16_18.cpp │ │ ├── exercise_16_19.cpp │ │ ├── exercise_16_20.cpp │ │ ├── exercise_16_21.md │ │ ├── exercise_16_22.md │ │ ├── exercise_16_23.md │ │ ├── exercise_16_24.md │ │ ├── exercise_16_25.md │ │ ├── exercise_16_26.cpp │ │ ├── exercise_16_27.md │ │ ├── exercise_16_28.md │ │ ├── exercise_16_29.cpp │ │ ├── exercise_16_30.md │ │ ├── exercise_16_31.md │ │ ├── exercise_16_32.md │ │ ├── exercise_16_33.md │ │ ├── exercise_16_34.md │ │ ├── exercise_16_35.md │ │ ├── exercise_16_36.md │ │ ├── exercise_16_37.cpp │ │ ├── exercise_16_38.md │ │ ├── exercise_16_39.md │ │ ├── exercise_16_40.cpp │ │ ├── exercise_16_41.cpp │ │ ├── exercise_16_42.md │ │ ├── exercise_16_43.md │ │ ├── exercise_16_44.md │ │ ├── exercise_16_45.cpp │ │ ├── exercise_16_46.md │ │ ├── exercise_16_47.cpp │ │ ├── exercise_16_48.md │ │ ├── exercise_16_49.cpp │ │ ├── exercise_16_50.md │ │ ├── exercise_16_51.md │ │ ├── exercise_16_52.md │ │ ├── exercise_16_53.md │ │ ├── exercise_16_54.md │ │ ├── exercise_16_55.cpp │ │ ├── exercise_16_56.md │ │ ├── exercise_16_57.md │ │ ├── exercise_16_58.md │ │ ├── exercise_16_59.md │ │ ├── exercise_16_60.md │ │ ├── exercise_16_61.md │ │ ├── exercise_16_62.md │ │ ├── exercise_16_63.cpp │ │ ├── exercise_16_64.md │ │ ├── exercise_16_65.cpp │ │ ├── exercise_16_66.md │ │ └── exercise_16_67.md │ ├── ch17_Specialized_Library_Facilities/ │ │ ├── build.sh │ │ ├── data/ │ │ │ ├── test_rules.txt │ │ │ └── trans_rules.txt │ │ ├── example_formatted_io.cpp │ │ ├── example_phone_number.cpp │ │ ├── example_random.cpp │ │ ├── example_regex_error.cpp │ │ ├── example_regex_replace.cpp │ │ ├── example_seek_tell.cpp │ │ ├── example_sregex_iterator.cpp │ │ ├── example_tuple.cpp │ │ ├── example_unformatted_io.cpp │ │ ├── example_using_regex.cpp │ │ ├── example_using_subexpression.cpp │ │ ├── exercise_17_01.cpp │ │ ├── exercise_17_02.cpp │ │ ├── exercise_17_03.cpp │ │ ├── exercise_17_04.md │ │ ├── exercise_17_05.cpp │ │ ├── exercise_17_06.cpp │ │ ├── exercise_17_07.md │ │ ├── exercise_17_08.md │ │ ├── exercise_17_09.cpp │ │ ├── exercise_17_10.cpp │ │ ├── exercise_17_11.cpp │ │ ├── exercise_17_12.cpp │ │ ├── exercise_17_13.cpp │ │ ├── exercise_17_14.cpp │ │ ├── exercise_17_15.cpp │ │ ├── exercise_17_16.md │ │ ├── exercise_17_17.md │ │ ├── exercise_17_18.cpp │ │ ├── exercise_17_19.md │ │ ├── exercise_17_20.md │ │ ├── exercise_17_21.cpp │ │ ├── exercise_17_22.cpp │ │ ├── exercise_17_23.cpp │ │ ├── exercise_17_24.md │ │ ├── exercise_17_25.cpp │ │ ├── exercise_17_26.cpp │ │ ├── exercise_17_27.cpp │ │ ├── exercise_17_28.cpp │ │ ├── exercise_17_29.cpp │ │ ├── exercise_17_30.cpp │ │ ├── exercise_17_31.md │ │ ├── exercise_17_32.md │ │ ├── exercise_17_33.cpp │ │ ├── exercise_17_34.md │ │ ├── exercise_17_35.cpp │ │ ├── exercise_17_36.cpp │ │ ├── exercise_17_37.cpp │ │ ├── exercise_17_38.cpp │ │ └── exercise_17_39.md │ ├── ch18_Tools_for_Large_Programs/ │ │ ├── build.sh │ │ ├── exercise_18_01.cpp │ │ ├── exercise_18_02.md │ │ ├── exercise_18_03.cpp │ │ ├── exercise_18_04.md │ │ ├── exercise_18_05.cpp │ │ ├── exercise_18_06.cpp │ │ ├── exercise_18_07.md │ │ ├── exercise_18_08.md │ │ ├── exercise_18_09.md │ │ ├── exercise_18_10.md │ │ ├── exercise_18_11.md │ │ ├── exercise_18_12.md │ │ ├── exercise_18_13.md │ │ ├── exercise_18_14.cpp │ │ ├── exercise_18_15.md │ │ ├── exercise_18_16.cpp │ │ ├── exercise_18_17.md │ │ ├── exercise_18_18.cpp │ │ ├── exercise_18_19.md │ │ ├── exercise_18_20.cpp │ │ ├── exercise_18_21.cpp │ │ ├── exercise_18_22.cpp │ │ ├── exercise_18_23.cpp │ │ ├── exercise_18_24.md │ │ ├── exercise_18_25.cpp │ │ ├── exercise_18_26.cpp │ │ ├── exercise_18_27.cpp │ │ ├── exercise_18_28.cpp │ │ ├── exercise_18_29.cpp │ │ └── exercise_18_30.cpp │ ├── ch19_Specialized_Tools_and_Techniques/ │ │ ├── build.sh │ │ ├── example_function_table.cpp │ │ ├── example_memfunc_as_callable_obj.cpp │ │ ├── example_placement_new.cpp │ │ ├── example_pointer_to_member.cpp │ │ ├── example_type_info.cpp │ │ ├── example_union_with_class.cpp │ │ ├── example_use_RTTI.cpp │ │ ├── exercise_19_01.cpp │ │ ├── exercise_19_02.md │ │ ├── exercise_19_03.cpp │ │ ├── exercise_19_04.cpp │ │ ├── exercise_19_05.md │ │ ├── exercise_19_06.cpp │ │ ├── exercise_19_07.cpp │ │ ├── exercise_19_08.cpp │ │ ├── exercise_19_09.md │ │ ├── exercise_19_10.cpp │ │ ├── exercise_19_11.md │ │ ├── exercise_19_12.cpp │ │ ├── exercise_19_13.cpp │ │ ├── exercise_19_14.cpp │ │ ├── exercise_19_15.md │ │ ├── exercise_19_16.md │ │ ├── exercise_19_17.md │ │ ├── exercise_19_18.cpp │ │ ├── exercise_19_19.cpp │ │ ├── exercise_19_20.md │ │ ├── exercise_19_21.md │ │ ├── exercise_19_22.md │ │ ├── exercise_19_23.md │ │ ├── exercise_19_24.md │ │ ├── exercise_19_25.md │ │ └── exercise_19_26.cpp │ ├── data/ │ │ ├── book_sales │ │ ├── little_story.txt │ │ ├── numbers.txt │ │ ├── person_numbers.txt │ │ └── some_words.txt │ ├── defined_terms/ │ │ ├── ch01/ │ │ │ ├── argument.md │ │ │ ├── assignment.md │ │ │ ├── block.md │ │ │ ├── buffer.md │ │ │ ├── built-in_type.md │ │ │ ├── cerr.md │ │ │ ├── cin.md │ │ │ ├── class.md │ │ │ ├── class_type.md │ │ │ ├── clog.md │ │ │ ├── comment.md │ │ │ ├── condition.md │ │ │ ├── cout.md │ │ │ ├── data_structure.md │ │ │ ├── edit-compile-debug.md │ │ │ ├── end-of-file.md │ │ │ ├── expression.md │ │ │ ├── for_statement.md │ │ │ ├── function.md │ │ │ ├── function_body.md │ │ │ ├── function_name.md │ │ │ ├── header.md │ │ │ ├── if_statement.md │ │ │ ├── initialize.md │ │ │ ├── iostream.md │ │ │ ├── istream.md │ │ │ ├── main.md │ │ │ ├── manipulator.md │ │ │ ├── member_function.md │ │ │ ├── namespace.md │ │ │ ├── ostream.md │ │ │ ├── parameter_list.md │ │ │ ├── return_type.md │ │ │ ├── source_file.md │ │ │ ├── standard_error.md │ │ │ ├── standard_input.md │ │ │ ├── standard_library.md │ │ │ ├── standard_output.md │ │ │ ├── statement.md │ │ │ ├── string_literal.md │ │ │ ├── uninitialized_variable.md │ │ │ ├── variable.md │ │ │ ├── while_statement.md │ │ │ ├── 不等运算符.md │ │ │ ├── 作用域运算符.md │ │ │ ├── 复合赋值运算符.md │ │ │ ├── 大于等于运算符.md │ │ │ ├── 大于运算符.md │ │ │ ├── 头文件包含指令.md │ │ │ ├── 小于等于运算符.md │ │ │ ├── 小于运算符.md │ │ │ ├── 点运算符.md │ │ │ ├── 相等运算符.md │ │ │ ├── 等号运算符.md │ │ │ ├── 调用运算符.md │ │ │ ├── 输入运算符.md │ │ │ ├── 输出运算符.md │ │ │ ├── 递减运算符.md │ │ │ └── 递增运算符.md │ │ ├── ch02/ │ │ │ ├── address.md │ │ │ ├── alias_declaration.md │ │ │ ├── arithmetic_type.md │ │ │ ├── array.md │ │ │ ├── auto.md │ │ │ ├── base_type.md │ │ │ ├── bind.md │ │ │ ├── byte.md │ │ │ ├── class_member.md │ │ │ ├── compound_type.md │ │ │ ├── const.md │ │ │ ├── const_expression.md │ │ │ ├── const_pointer.md │ │ │ ├── const_reference.md │ │ │ ├── conversion.md │ │ │ ├── data_member.md │ │ │ ├── declaration.md │ │ │ ├── declarator.md │ │ │ ├── decltype.md │ │ │ ├── default_initialization.md │ │ │ ├── definition.md │ │ │ ├── escape_sequence.md │ │ │ ├── global_scope.md │ │ │ ├── header_guard.md │ │ │ ├── identifier.md │ │ │ ├── in-class_initializer.md │ │ │ ├── list_initialization.md │ │ │ ├── literal.md │ │ │ ├── low-level_const.md │ │ │ ├── nonprintable_character.md │ │ │ ├── null_pointer.md │ │ │ ├── nullptr.md │ │ │ ├── object.md │ │ │ ├── pointer.md │ │ │ ├── pointer_to_const.md │ │ │ ├── preprocessor.md │ │ │ ├── preprocessor_variable.md │ │ │ ├── reference.md │ │ │ ├── reference_to_const.md │ │ │ ├── scope.md │ │ │ ├── separate_complilation.md │ │ │ ├── signed.md │ │ │ ├── string.md │ │ │ ├── temporary.md │ │ │ ├── top-level_const.md │ │ │ ├── type_alias.md │ │ │ ├── type_checking.md │ │ │ ├── type_specifier.md │ │ │ ├── undefined.md │ │ │ ├── uninitialized.md │ │ │ ├── unsigned.md │ │ │ ├── variable.md │ │ │ ├── void.md │ │ │ └── word.md │ │ ├── ch03/ │ │ │ ├── C-style_string.md │ │ │ ├── begin.md │ │ │ ├── buffer_overflow.md │ │ │ ├── class_template.md │ │ │ ├── compiler_extension.md │ │ │ ├── container.md │ │ │ ├── copy_initialization.md │ │ │ ├── difference_type.md │ │ │ ├── direct_initialization.md │ │ │ ├── empty.md │ │ │ ├── end.md │ │ │ ├── getline.md │ │ │ ├── index.md │ │ │ ├── instantiation.md │ │ │ ├── iterator.md │ │ │ ├── iterator_arithmetic.md │ │ │ ├── off-the-end_iterator.md │ │ │ ├── pointer_arithmetic.md │ │ │ ├── prtdiff_t.md │ │ │ ├── push_back.md │ │ │ ├── range_for.md │ │ │ ├── size.md │ │ │ ├── size_t.md │ │ │ ├── size_type.md │ │ │ ├── string.md │ │ │ ├── using_declaration.md │ │ │ ├── value_initialization.md │ │ │ ├── vector.md │ │ │ ├── 下标运算符.md │ │ │ ├── 箭头运算符.md │ │ │ ├── 输入运算符.md │ │ │ ├── 输出运算符.md │ │ │ ├── 递增运算符.md │ │ │ ├── 逻辑与运算符.md │ │ │ ├── 逻辑或运算符.md │ │ │ └── 逻辑非运算符.md │ │ ├── ch04/ │ │ │ ├── arithmetic_conversion.md │ │ │ ├── associativity.md │ │ │ ├── binary_operator.md │ │ │ ├── cast.md │ │ │ ├── compound_expression.md │ │ │ ├── const_cast.md │ │ │ ├── conversion.md │ │ │ ├── expression.md │ │ │ ├── implicit_conversion.md │ │ │ ├── integral_promotion.md │ │ │ ├── lvalue.md │ │ │ ├── operand.md │ │ │ ├── operator.md │ │ │ ├── order_of_evaluation.md │ │ │ ├── overloaded_operator.md │ │ │ ├── precedence.md │ │ │ ├── reinterpret_case.md │ │ │ ├── rvalue.md │ │ │ ├── short-circuit_evaluation.md │ │ │ ├── sizeof.md │ │ │ ├── static_cast.md │ │ │ ├── unary_operators.md │ │ │ ├── 位与运算符.md │ │ │ ├── 位异或运算符.md │ │ │ ├── 位或运算符.md │ │ │ ├── 位求反运算符.md │ │ │ ├── 右移运算符.md │ │ │ ├── 左移运算符.md │ │ │ ├── 条件运算符.md │ │ │ ├── 递减运算符.md │ │ │ ├── 递增运算符.md │ │ │ └── 逗号运算符.md │ │ ├── ch05/ │ │ │ ├── block.md │ │ │ ├── break_statement.md │ │ │ ├── case_label.md │ │ │ ├── catch_clause.md │ │ │ ├── compound_statement.md │ │ │ ├── continue_statement.md │ │ │ ├── dangling_else.md │ │ │ ├── default_label.md │ │ │ ├── do_while_statement.md │ │ │ ├── exception_class.md │ │ │ ├── exception_declaration.md │ │ │ ├── exception_handler.md │ │ │ ├── exception_safe.md │ │ │ ├── expression_statement.md │ │ │ ├── flow_of_control.md │ │ │ ├── for_statement.md │ │ │ ├── goto_statement.md │ │ │ ├── if_else_statement.md │ │ │ ├── if_statement.md │ │ │ ├── labeled_statement.md │ │ │ ├── null_statement.md │ │ │ ├── raise.md │ │ │ ├── range_for_statment.md │ │ │ ├── switch_statement.md │ │ │ ├── terminate.md │ │ │ ├── throw_expression.md │ │ │ ├── try_block.md │ │ │ └── while_statement.md │ │ ├── ch06/ │ │ │ ├── ambiguous_call.md │ │ │ ├── argument.md │ │ │ ├── assert.md │ │ │ ├── automatic_object.md │ │ │ ├── best_match.md │ │ │ ├── candidate_function.md │ │ │ ├── constexpr.md │ │ │ ├── default_argument.md │ │ │ ├── executable_file.md │ │ │ ├── function_matching.md │ │ │ ├── function_prototype.md │ │ │ ├── hidden_name.md │ │ │ ├── initializer_list.md │ │ │ ├── inline_function.md │ │ │ ├── link.md │ │ │ ├── local_static_object.md │ │ │ ├── local_variable.md │ │ │ ├── no_match.md │ │ │ ├── object_code.md │ │ │ ├── object_file.md │ │ │ ├── object_lifetime.md │ │ │ ├── overloaded_function.md │ │ │ ├── parameter.md │ │ │ ├── pass_by_reference.md │ │ │ ├── pass_by_value.md │ │ │ ├── preprocessor_macro.md │ │ │ ├── recursion_loop.md │ │ │ ├── recursive_function.md │ │ │ ├── return_type.md │ │ │ ├── trailing_return_type.md │ │ │ └── viable_function.md │ │ ├── ch07/ │ │ │ ├── =default.md │ │ │ ├── abstract_data_type.md │ │ │ ├── access_specifier.md │ │ │ ├── aggregate_class.md │ │ │ ├── class.md │ │ │ ├── class_declaration.md │ │ │ ├── class_scope.md │ │ │ ├── const_member_function.md │ │ │ ├── constructor.md │ │ │ ├── constructor_initializer_list.md │ │ │ ├── converting_constructor.md │ │ │ ├── data_abstraction.md │ │ │ ├── default_constructor.md │ │ │ ├── delegating_constructor.md │ │ │ ├── encapsulation.md │ │ │ ├── explicit_constructor.md │ │ │ ├── forward_declaration.md │ │ │ ├── friend.md │ │ │ ├── implementation.md │ │ │ ├── incomplete_type.md │ │ │ ├── interface.md │ │ │ ├── member_function.md │ │ │ ├── mutable_data_member.md │ │ │ ├── name_lookup.md │ │ │ ├── private_member.md │ │ │ ├── public_member.md │ │ │ ├── synthesized_default_constructor.md │ │ │ └── this_pointer.md │ │ ├── ch08/ │ │ │ ├── condition_state.md │ │ │ ├── file_mode.md │ │ │ ├── file_stream.md │ │ │ ├── fstream.md │ │ │ ├── ifstream.md │ │ │ ├── inheritance.md │ │ │ ├── istringstream.md │ │ │ ├── ofstream.md │ │ │ └── string_stream.md │ │ ├── ch09/ │ │ │ ├── adaptor.md │ │ │ ├── array.md │ │ │ ├── begin.md │ │ │ ├── cbegin.md │ │ │ ├── cend.md │ │ │ ├── container.md │ │ │ ├── deque.md │ │ │ ├── end.md │ │ │ ├── forward_list.md │ │ │ ├── iterator_range.md │ │ │ ├── left-inclusive_interval.md │ │ │ ├── list.md │ │ │ ├── off-the-beginning_iterator.md │ │ │ ├── off-the-end_iterator.md │ │ │ ├── priority_queue.md │ │ │ ├── queue.md │ │ │ ├── sequential_container.md │ │ │ ├── stack.md │ │ │ └── vector.md │ │ ├── ch10/ │ │ │ ├── back_inserter.md │ │ │ ├── bidirectional_iterator.md │ │ │ ├── binary_predicate.md │ │ │ ├── bind.md │ │ │ ├── callable_object.md │ │ │ ├── capture_list.md │ │ │ ├── cref.md │ │ │ ├── forward_iterator.md │ │ │ ├── front_insertor.md │ │ │ ├── generic_algorithm.md │ │ │ ├── input_iterator.md │ │ │ ├── insert_iterator.md │ │ │ ├── inserter.md │ │ │ ├── istream_iterator.md │ │ │ ├── iterator_category.md │ │ │ ├── lambda_expression.md │ │ │ ├── move_iterator.md │ │ │ ├── ostream_iterator.md │ │ │ ├── output_iterator.md │ │ │ ├── predicate.md │ │ │ ├── random-access_iterator.md │ │ │ ├── ref.md │ │ │ ├── reverse_iterator.md │ │ │ ├── stream_iterator.md │ │ │ └── unary_predicate.md │ │ ├── ch11/ │ │ │ ├── associative_array.md │ │ │ ├── associative_container.md │ │ │ ├── hash.md │ │ │ ├── hash_function.md │ │ │ ├── key_type.md │ │ │ ├── map.md │ │ │ ├── mapped_type.md │ │ │ ├── multimap.md │ │ │ ├── multiset.md │ │ │ ├── pair.md │ │ │ ├── set.md │ │ │ ├── strict_weak_ordering.md │ │ │ ├── unordered_container.md │ │ │ ├── unordered_map.md │ │ │ ├── unordered_multimap.md │ │ │ ├── unordered_multiset.md │ │ │ ├── unordered_set.md │ │ │ └── value_type.md │ │ ├── ch12/ │ │ │ ├── allocator.md │ │ │ ├── dangling_pointer.md │ │ │ ├── delete.md │ │ │ ├── deleter.md │ │ │ ├── destructor.md │ │ │ ├── dynamically_allocated.md │ │ │ ├── free_store.md │ │ │ ├── heap.md │ │ │ ├── new.md │ │ │ ├── placement_new.md │ │ │ ├── reference_count.md │ │ │ ├── shared_ptr.md │ │ │ ├── smart_pointer.md │ │ │ ├── unique_ptr.md │ │ │ └── weak_ptr.md │ │ ├── ch13/ │ │ │ ├── copy-assignment_operator.md │ │ │ ├── copy_and_swap.md │ │ │ ├── copy_constructor.md │ │ │ ├── copy_control.md │ │ │ ├── copy_initialization.md │ │ │ ├── deleted_function.md │ │ │ ├── destructor.md │ │ │ ├── lvalue_reference.md │ │ │ ├── memberwise_copy_assign.md │ │ │ ├── move-assignment_operator.md │ │ │ ├── move.md │ │ │ ├── move_constructor.md │ │ │ ├── overload_operator.md │ │ │ ├── reference_count.md │ │ │ ├── reference_qualifier.md │ │ │ ├── rvalue_reference.md │ │ │ ├── synthesized_assignment_operator.md │ │ │ ├── synthesized_copy_move_constructor.md │ │ │ └── synthesized_destructor.md │ │ ├── ch14/ │ │ │ ├── call_signature.md │ │ │ ├── class-type_conversion.md │ │ │ ├── conversion_operator.md │ │ │ ├── explicit_conversion_operator.md │ │ │ ├── function_object.md │ │ │ ├── function_table.md │ │ │ ├── function_template.md │ │ │ ├── overloaded_operator.md │ │ │ └── user-defined_conversion.md │ │ ├── ch15/ │ │ │ ├── abstract_base_class.md │ │ │ ├── accessible.md │ │ │ ├── base_class.md │ │ │ ├── class_derivation_list.md │ │ │ ├── derived-to-base_conversion.md │ │ │ ├── derived_class.md │ │ │ ├── direct_base_class.md │ │ │ ├── dynamic_binding.md │ │ │ ├── dynamic_type.md │ │ │ ├── indirect_base_class.md │ │ │ ├── inheritance.md │ │ │ ├── object-oriented_programming.md │ │ │ ├── override.md │ │ │ ├── polymorphism.md │ │ │ ├── private_inheritance.md │ │ │ ├── protected_access_specifier.md │ │ │ ├── protected_inheritance.md │ │ │ ├── public_inheritance.md │ │ │ ├── pure_virtual.md │ │ │ ├── refactoring.md │ │ │ ├── run-time_binding.md │ │ │ ├── sliced_down.md │ │ │ ├── static_type.md │ │ │ └── virtual_function.md │ │ ├── ch16/ │ │ │ ├── class_template.md │ │ │ ├── default_template_argument.md │ │ │ ├── explicit_instantiation.md │ │ │ ├── explicit_template_argument.md │ │ │ ├── function_parameter_pack.md │ │ │ ├── function_template.md │ │ │ ├── instantiate.md │ │ │ ├── instantiation.md │ │ │ ├── member_template.md │ │ │ ├── nontype_parameter.md │ │ │ ├── pack_expansion.md │ │ │ ├── parameter_pack.md │ │ │ ├── partial_specialization.md │ │ │ ├── pattern.md │ │ │ ├── template_argument.md │ │ │ ├── template_argument_deduction.md │ │ │ ├── template_parameter.md │ │ │ ├── template_parameter_list.md │ │ │ ├── template_parameter_pack.md │ │ │ ├── template_specialization.md │ │ │ ├── type_parameter.md │ │ │ ├── type_transformation.md │ │ │ └── variadic_template.md │ │ ├── ch17/ │ │ │ ├── bitset.md │ │ │ ├── cmatch.md │ │ │ ├── cregex_iterator.md │ │ │ ├── csub_match.md │ │ │ ├── default_random_engine.md │ │ │ ├── formatted_IO.md │ │ │ ├── get.md │ │ │ ├── high-order.md │ │ │ ├── low-order.md │ │ │ ├── manipulator.md │ │ │ ├── random-number_distribution.md │ │ │ ├── random-number_engine.md │ │ │ ├── random-number_generator.md │ │ │ ├── regex.md │ │ │ ├── regex_error.md │ │ │ ├── regex_match.md │ │ │ ├── regex_replace.md │ │ │ ├── regex_search.md │ │ │ ├── regular_expression.md │ │ │ ├── seed.md │ │ │ ├── smatch.md │ │ │ ├── sregex_iterator.md │ │ │ ├── ssub_match.md │ │ │ ├── subexpression.md │ │ │ ├── tuple.md │ │ │ └── unformatted_IO.md │ │ ├── ch18/ │ │ │ ├── catch-all.md │ │ │ ├── catch_clause.md │ │ │ ├── constructor_order.md │ │ │ ├── exception_declaration.md │ │ │ ├── exception_handling.md │ │ │ ├── exception_object.md │ │ │ ├── file_static.md │ │ │ ├── function_try_block.md │ │ │ ├── global_namespace.md │ │ │ ├── handler.md │ │ │ ├── inline_namespace.md │ │ │ ├── multiple_inheritance.md │ │ │ ├── namespace.md │ │ │ ├── namespace_alias.md │ │ │ ├── namespace_pollution.md │ │ │ ├── noexcept_operator.md │ │ │ ├── noexcept_specification.md │ │ │ ├── nonthrowing_specification.md │ │ │ ├── raise.md │ │ │ ├── rethrow.md │ │ │ ├── stack_unwinding.md │ │ │ ├── terminate.md │ │ │ ├── throw.md │ │ │ ├── try_block.md │ │ │ ├── unnamed_namespace.md │ │ │ ├── using_declaration.md │ │ │ ├── using_directive.md │ │ │ ├── virtual_base_class.md │ │ │ └── virtual_inheritance.md │ │ ├── ch19/ │ │ │ ├── anonymous_union.md │ │ │ ├── bit-field.md │ │ │ ├── discriminant.md │ │ │ ├── dynamic_cast.md │ │ │ ├── enumeration.md │ │ │ ├── enumerator.md │ │ │ ├── free.md │ │ │ ├── link_directive.md │ │ │ ├── local_class.md │ │ │ ├── malloc.md │ │ │ ├── mem_fn.md │ │ │ ├── nested_class.md │ │ │ ├── nested_type.md │ │ │ ├── nonportable.md │ │ │ ├── operator_delete.md │ │ │ ├── operator_new.md │ │ │ ├── placement_new_expression.md │ │ │ ├── pointer_to_member.md │ │ │ ├── run-time_tyoe_identification.md │ │ │ ├── scoped_enumeration.md │ │ │ ├── typeid_operator.md │ │ │ ├── typeinfo.md │ │ │ ├── union.md │ │ │ ├── unscoped_enumeration.md │ │ │ └── volatile.md │ │ ├── gen_index.sh │ │ └── terms_index.md │ └── gen_readme.sh ├── mkdocs.yml └── notes/ ├── CProgramming/ │ ├── ch01 C语言概述.md │ ├── ch02 C语言基本概念.md │ ├── ch03 格式化输入输出.md │ ├── ch04 表达式.md │ ├── ch05 选择语句.md │ ├── ch06 循环.md │ ├── ch07 基本类型.md │ ├── ch08 数组.md │ ├── ch09 函数.md │ ├── ch10 程序结构.md │ ├── ch11 指针.md │ ├── ch12 指针和数组.md │ ├── ch13 字符串.md │ ├── ch14 预处理器.md │ ├── ch15 编写大规模程序.md │ ├── ch16 结构、联合和枚举.md │ ├── ch17 指针的高级应用.md │ ├── ch18 声明.md │ ├── ch19 程序设计.md │ ├── ch20 低级程序设计.md │ ├── ch21 标准库.md │ ├── ch22 输入_输出.md │ ├── ch23 库对数值和字符数据的支持.md │ ├── ch24 错误处理.md │ ├── ch25 国际化特性.md │ ├── ch26 其他库函数.md │ └── cheatsheet/ │ └── 惯用法.md ├── CppPrimer/ │ ├── ch01 开始.md │ ├── ch02 变量和基本类型.md │ ├── ch03 字符串、向量和数组.md │ ├── ch04 表达式.md │ ├── ch05 语句.md │ ├── ch06 函数.md │ ├── ch07 类.md │ ├── ch08 IO库.md │ ├── ch09 顺序容器.md │ ├── ch10 泛型算法.md │ ├── ch11 关联容器.md │ ├── ch12 动态内存.md │ ├── ch13 拷贝控制.md │ ├── ch14 操作重载与类型转换.md │ ├── ch15 面向对象程序设计.md │ ├── ch16 模板与泛型编程.md │ ├── ch17 标准库特殊设施.md │ ├── ch18 用于大型程序的工具.md │ └── ch19 特殊工具与技术.md ├── EffectiveModernCpp/ │ ├── ch01_型别推导/ │ │ ├── 条款1_理解模板型别推导.md │ │ ├── 条款2_理解auto型别推导.md │ │ ├── 条款3_理解decltype.md │ │ └── 条款4_掌握查看型别推导结果的方法.md │ └── ch02_auto/ │ ├── 条款5_优先选用auto而非显式型别声明.md │ └── 条款6_当auto推导的型别不符合要求时使用带显式型别的初始化物习惯用法.md └── index.md