logo资料库

小象学院C++.pdf

第1页 / 共272页
第2页 / 共272页
第3页 / 共272页
第4页 / 共272页
第5页 / 共272页
第6页 / 共272页
第7页 / 共272页
第8页 / 共272页
资料共272页,剩余部分请下载后查看
小象学院 C++学习笔记 C++学习笔记 第一版 吴文滔 2019 年 2 月 14 日(起) 1
小象学院 C++学习笔记 目录 C++学习笔记 .............................................................................. 1 目录...................................................................................... 2 第一章.................................................................................. 8 C++ 基础知识点 demo ...................................................... 8 C++结构体、指针、字符数、内存申请 .................. 9 C++自带的标准库类型 vector 的使用 .................... 10 C++不同命名空间内函数的调用方法 .................... 11 C++的输入输出输入输出的格式化 ........................ 16 C++中的基本内置类型 ............................................ 17 C++基本数据类型的转换 ........................................ 18 C++unsigned 类型注意事项 ..................................... 19 C++数据类型:声明与列表初始化 ........................ 20 C++数据类型:指针与引用的比较 ........................ 22 C++指针数组、数组指针与引用 ............................ 23 C++中的 const ........................................................... 24 C++const 限定符与引用、指针 ............................... 25 C++中的 struct .......................................................... 26 2 C++中的 class ............................................................ 27 C++中的字符串 ........................................................ 28 C++中的 vector.......................................................... 29 C++中的 auto ............................................................. 30 C++函数的重载:定义 ............................................ 31 C++重载的二义性与 const ....................................... 32 C++函数重载:运算符重载初步 ............................ 33 C++函数重载习题 .................................................... 34 C++内联函数 ............................................................ 36 C++内存四区 ............................................................ 37 C++new/delete 的基本应用 ...................................... 38 C++new 申请内存失败的处理 ................................. 39 C++动态创建二维数组,练习 ................................ 40 C++表达式计算顺序 ................................................ 41 C++左值右值 ............................................................ 43 C++显示转换 ............................................................ 44 C++中的参数传递 .................................................... 45 C++函数参数传递:const 形参和实参 ...................... 46 C++函数的返回类型 ................................................ 47 C++函数返回类型与 const ....................................... 48
小象学院 C++学习笔记 第二章................................................................................ 49 C++单例模式 ............................................................ 70 C++ 类和对象(封装) .................................................. 49 C++类类型的隐式转换 ............................................ 71 C++封装 .................................................................... 50 C++类类型传参 ........................................................ 72 C++访问控制 ............................................................ 51 C++类类型返回值 .................................................... 73 C++一个简单的栈类 ................................................ 52 第三章 ................................................................................ 74 C++类的构造函数与析构函数 ................................ 53 C++ 类和对象(构造深入) .......................................... 74 C++构造函数 ............................................................ 54 C++数据成员指针 .................................................... 75 C++析构函数 ............................................................ 55 C++成员函数指针 .................................................... 76 C++构造和析构:次序(1) .................................. 56 C++三/五法则 ........................................................... 80 C++构造和析构:次序(2) .................................. 57 C++引用计数 ............................................................ 81 C++类文件的编写 .................................................... 58 C++移动构造函数 .................................................... 82 C++中对象的内存 .................................................... 59 C++移动赋值运算符重载 ........................................ 86 C++类的 this 指针 ..................................................... 60 C++移动小结 ............................................................ 87 C++构造函数初始值列表 ........................................ 61 第四章 ................................................................................ 88 C++拷贝构造和赋值运算符重载 ............................ 62 C++ 类和对象(友元与运算符重载) .......................... 88 C++浅拷贝 ................................................................ 63 C++运算符重载规则 ................................................ 89 C++深拷贝实现 ........................................................ 64 C++输入输出运算符重载 ........................................ 91 C++友元函数 ............................................................ 65 C++一元运算符重载 ................................................ 92 C++类的 const 成员函数 .......................................... 68 C++二元运算符重载 ................................................ 93 C++类的静态变量和静态成员函数 ........................ 69 C++复合运算符+=重载 ............................................ 94 3
小象学院 C++学习笔记 C++前++和后++ ....................................................... 95 C++allocator............................................................. 118 C++下标运算符[] ...................................................... 96 C++小练习 .............................................................. 120 C++关系运算符== != <> ...................................... 97 第五章 .............................................................................. 121 C++类型转化运算符 ................................................ 98 C++ 类和对象(继承) ................................................ 121 C++类型转换二义性 ................................................ 99 C++继承:概念 ...................................................... 122 C++函数调用运算符 .............................................. 100 C++继承:成员的继承 .......................................... 123 C++函数对象 .......................................................... 101 C++继承:继承方式 .............................................. 124 C++lambda 表达式 .................................................. 102 C++继承:构造与析构 .......................................... 125 C++function ............................................................. 103 C++继承:拷贝构造与赋值运算符重载 .............. 129 C++bind ................................................................... 104 C++继承:移动构造与移动运算符重载 .............. 131 C++智能指针:引入 .............................................. 105 C++继承:赋值兼容 .............................................. 133 C++智能指针行为像指针 ...................................... 107 C++继承:静态类型和动态类型 .......................... 135 C++智能指针的引用计数 ...................................... 108 C++继承:类作用域和 shadow ............................. 136 C++shared_ptr ......................................................... 109 C++继承:名字查找 .............................................. 137 C++weak_ptr ........................................................... 110 C++继承:using 声明式 ......................................... 138 C++unique_ptr ......................................................... 111 C++继承:友元 ...................................................... 139 C++unique_ptr 简易实现 ........................................ 112 第六章 .............................................................................. 140 C++智能指针小结 .................................................. 113 C++ 类和对象(多态) ................................................ 140 C++operator new/delete ........................................... 114 C++多态引入 .......................................................... 141 C++运算符重载:new/delete ................................. 115 C++虚函数与多态 .................................................. 142 4
小象学院 C++学习笔记 C++动态绑定 .......................................................... 143 第七章 .............................................................................. 175 C++虚析构 .............................................................. 144 C++ 类和对象(多继承) ............................................ 175 C++纯虚函数和抽象基类 ...................................... 145 C++多继承:引入 .................................................. 176 C++多态例子:shape 面积 .................................... 146 C++多继承:构造与析构 ...................................... 177 C++多态例子:USB 设备 ...................................... 147 C++多继承:拷贝构造与赋值 .............................. 178 C++练习 1 ............................................................... 148 C++多继承:赋值兼容、类型转换 ...................... 179 C++练习 2 ............................................................... 149 C++多继承:名字查找和类作用域 ...................... 180 C++练习 3 ............................................................... 150 C++多继承:虚函数 .............................................. 181 C++public 继承:“is-a”关系 .................................. 151 C++多继承:虚函数表 .......................................... 182 C++面对对象设计原则:依赖倒置原则 .............. 153 C++虚继承:引入 .................................................. 183 C++虚函数表 .......................................................... 156 C++虚继承:构造与析构 ...................................... 184 C++运行时类型识别:RTTI ................................. 158 C++虚继承:对象内存分布 .................................. 185 C++例子:链表 ...................................................... 161 C++练习 .................................................................. 186 C++例子:shared_ptr 存入 vector ......................... 168 C++多继承、虚继承:小结 .................................. 187 C++构造函数中调用虚函数 .................................. 169 第八章 .............................................................................. 188 C++析构函数中调用虚函数 .................................. 170 C++ 类和对象(异常) ................................................ 188 C++成员函数中调用虚函数 .................................. 171 C++异常:C++中的错误处理 ............................... 189 C++虚函数的默认参数 .......................................... 172 C++异常:栈展开 .................................................. 190 C++不重新定义继承来的非虚函数 ...................... 173 C++异常:栈展开过程中对象被自动销毁 .......... 191 C++数据成员尽量 private ...................................... 174 C++异常:catch 匹配规则 ..................................... 192 5
小象学院 C++学习笔记 C++异常:重新抛出异常 ...................................... 193 C++函数模板的重载 .............................................. 219 C++异常:noexcept 异常说明 ............................... 194 C++继承关系的用法 .............................................. 220 C++异常:标准库异常类 ...................................... 195 C++静多态和动多态 .............................................. 221 C++异常:自定义异常类 ...................................... 197 C++Traits ................................................................. 222 C++异常:构造函数与异常 .................................. 199 C++参数推断、引用折叠 ...................................... 223 C++异常:异常安全 .............................................. 202 C++remove_refrance、std::move ............................ 224 C++异常:练习 ...................................................... 206 C++转发:std::forward ........................................... 225 C++异常:小结 ...................................................... 207 C++模板元编程(TMP) ............................................ 226 第九章.............................................................................. 208 第十章 .............................................................................. 227 C++ 类和对象(模板) ................................................ 208 C++ 类和对象(STL) ................................................. 227 C++模板:引入 ...................................................... 209 C++STL 概述 .......................................................... 228 C++函数模板:模板类型参数 .............................. 210 C++STL 组件 .......................................................... 229 C++函数模板:非类型模板参数 .......................... 211 C++STL 组件关系 .................................................. 230 C++函数模板:实例化 .......................................... 212 C++STL:容器 .......................................................... 231 C++类模板 .............................................................. 213 C++STL:迭代器 ...................................................... 232 C++类模板:static 成员、默认参数 ..................... 214 C++STL:vector1 ...................................................... 233 C++使用类的类型成员 .......................................... 215 C++STL:vector2 ...................................................... 234 C++成员函数模板 .................................................. 216 C++STL:array .......................................................... 235 C++控制实例化 ...................................................... 217 C++STL:deque ......................................................... 236 C++特例化 .............................................................. 218 C++STL:list ............................................................. 237 6
小象学院 C++学习笔记 C++STL:forward_list ............................................... 238 C++STL:无序容器(1) ........................................ 257 C++STL:容器适配器 stack ..................................... 239 C++STL:无序容器(2) ........................................ 258 C++STL:容器适配器 queue .................................... 240 C++STL:无序容器(3) ........................................ 259 C++STL:容器适配器 priority_queue ...................... 241 第十一章 .......................................................................... 260 C++STL:算法 find/find_if/count count_if ............. 242 C++ TO 流 ....................................................................... 260 C++STL:算法 for_each/fill/fill_n ........................... 244 C++C 语言文件操作 ............................................... 261 C++STL:算法 copy/copy_if/copy_n/transform ...... 245 C++MyFstream ........................................................ 262 C++STL:算法概述 .................................................. 246 C++IO 流结构 ......................................................... 263 C++STL:算法 排序 ................................................ 247 C++fstream(1) .......................................................... 264 C++STL:算法 二分搜索 ........................................ 248 C++fstream(2) .......................................................... 265 C++STL:算法 remove、unique ............................. 249 C++stringstream ....................................................... 266 C++STL:特定容器算法 .......................................... 250 C++缓冲区 .............................................................. 267 C++STL:练习 1 ....................................................... 251 C++练习:文本查询程序(1) ............................ 268 C++STL:关联容器 set/multiset(1) ......................... 252 C++练习:文本查询程序(2) ............................ 269 C++STL:关联容器 set/multiset(2) ......................... 253 C++练习:文本查询程序(3) ............................ 270 C++STL:关联容器 set/multiset(3) ......................... 254 C++练习:文本查询程序(4) ............................ 271 C++STL:关联容器 map/multimap ......................... 255 C++STL:练习 2 ....................................................... 256 7
小象学院 C++学习笔记 第一章 C++ 基础知识点 demo 8
分享到:
收藏