C++
Jamuterbo
这个作者很懒,什么都没留下…
展开
-
[读书笔记] C++Primer (第5版) 第19章 特殊工具与技术
1.控制内存分配(new和delete):new表达式执行的三个步骤:调用一个名为operator new或operator new[]的标准库函数,该函数分配一块足够大的、原始的、未命名的内存空间,以便存储特定类型的对象或对象数组。编译器运行相应的构造函数来构造这些对象,并传入初始值。对象被分配了空间并构造完成,返回一个指向该对象的指针。delete表达式执行的两个步骤:对所指的对象或数组中的元素执行对应的析构函数编译器调用operator delete或operator delete原创 2020-07-06 08:10:27 · 194 阅读 · 0 评论 -
[读书笔记] C++Primer (第5版) 第18章 用于大型程序的工具
1.异常处理:异常处理机制允许程序中独立开发的部分能够在运行时就出现的问题,进行通信并作出相应处理。当执行一个throw时,跟在throw后面的语句将不再被执行(类似return)。程序的控制权从throw转移到与之匹配的catch模块。栈展开:当throw出现在一个try语句块内中,寻找与此try关联的catch语句。找不到的话就到外层的try中找。如果找不到匹配的catch,则程序调用标准库函数terminate来终止程序的执行过程。...原创 2020-07-01 08:13:02 · 213 阅读 · 0 评论 -
[读书笔记] C++Primer (第5版) 第17章标准库特殊设施
1.tuple类型:每个tuple的成员类型可以都不相同,可以有任意数量的成员。tuple<string, vector<double>, int> someVal("Contants", {2.1, 3.6, 9}, 32);pair总有两个成员(first和second),tuple的成员个数不确定,所以不能用这种方式访问。要访问tuple的成员,就要使用名为get的标准库函数模板。auto nVal = get<2>(someVal); //原创 2020-06-26 14:28:20 · 274 阅读 · 0 评论 -
[读书笔记] C++Primer (第5版) 第16章 模板与泛型编程
1.函数模板:一个公式。template关键字开始,后跟一个模板参数列表,以逗号分割的一个或多个模板参数。 template 编译器用推断出的模板参数来为我们实例化。这些编译器生成的函数版本通常被称为模板的实例(函数的形参为int,这个函数就是实例)。typename:模板类型参数。可以用来指定返回类型或函数的参数类型。就像内置类型或类类型说明符一样使用。也可以使用class代替。非模板参数:一个非类型参数表示一个值而非一个类型。当一个模板被实例化时,非类型参数被一个用户提供的或编译原创 2020-06-22 15:58:40 · 190 阅读 · 0 评论 -
[读书笔记] C++Primer (第5版) 第15章 面向对象程序设计
Mon 06Mon 13已完成 进行中 计划中 现有任务Adding GANTT diagram functionality to mermaid原创 2020-06-15 08:10:47 · 211 阅读 · 0 评论 -
[读书笔记] C++Primer (第5版) 第14章重载运算与类型转换
1.重载运算符基本概念:重载运算函数如果是非成员的,则参数数量与该运算符作用的运算对象一样多。如果是成员函数,则运算符的第一个(左侧)运算对象绑定到隐式的this指针上。一个运算符函数,它或者是类的成员,或者至少含有一个类类型的参数。当运算符作用于内置类型的运算对象时,我们无法改变该运算符的含义。只能重载已有的运算符,无权发明新的。优先级和结合律与对应的内置运算符保持一致。不能被重载的运算符: :: , . ?:*data1+data2; 非成员函数等价的调用为原创 2020-06-10 17:22:28 · 194 阅读 · 0 评论 -
[读书笔记] C++Primer (第5版) 第13章 拷贝控制
拷贝构造函数 用同类型的另一个对象初始化本对象会做什么 拷贝赋值函数 将一个对象赋予同类型的另一个对象会做什么 移动构造函数 同拷贝构造 移动赋值函数 同拷贝赋值 析构函数 当此类型对象销毁时做什么 称这些操作为拷贝控制操作。1.拷贝构造函数: Foo(const &Foo); // 拷贝构造函数:第一个参数是自身类型的引用,且任何额外参数都有默认值 可以是非const的,但一般总是const。 必须是引用。在...原创 2020-06-06 11:14:36 · 161 阅读 · 0 评论 -
[读书笔记] C++Primer (第5版) 第12章 动态内存
1.原创 2020-06-03 16:38:50 · 197 阅读 · 0 评论 -
[读书笔记] C++Primer (第5版) 第11章 关联容器
关联容器中的元素是按关键字来保存和访问的,顺序容器中的元素是按顺序和位置保存和访问的。1.原创 2020-06-01 21:09:20 · 163 阅读 · 0 评论 -
[读书笔记] C++Primer (第5版) 第10章 泛型算法
1.原创 2020-05-30 19:47:16 · 177 阅读 · 0 评论 -
顶层const与底层const的区别
顶层const:底层const:原创 2020-05-26 15:53:53 · 279 阅读 · 0 评论 -
[读书笔记] C++Primer (第5版) 第9章 顺序容器
顺序容器 名称 支持 性能 vector 可变大小数组 快速随机访问 在尾部之外的位置插入或删除元素可能很慢 deque 双端队列 快速随机访问 在头尾位置插入/删除速度很快 list 双向链表 只支持双向顺序访问 任何位置插入/删除速度都很快 forward_list 单向链表 只支持单向顺序访问 任何位置插入/删除都很快 array 固定大小数组 支持快速随机访问 不能添加/删原创 2020-05-26 19:09:25 · 231 阅读 · 0 评论 -
[读书笔记] C++Primer (第5版) 第8章 IO标准库
头文件 类型 iostream isstream,wistream:从流读取数据 ostream,wostring:向流写入数据 iostream,wiostream:读写流 fstream ifstream,wifstream:从文件读取数据 ofstream,wofstream:向文件写入数据 fstream,wfstream:读写文件 sstream istringstream,wistringstream:从stri原创 2020-05-24 17:06:34 · 159 阅读 · 0 评论 -
[读书笔记] C++Primer (第5版) 第7章 类
struct Sale_data{std::string isbn() const {return bookNo; }std::string bookNo;}1.函数调用类内定义的函数是隐式的inline函数。Sale_data data;data.isbn();调用成员函数时,实际是在为data调用。成员函数通过this(额外的隐式参数)来访问data。编译器负责把data的地址传递给isbn的this。this(常量指针)不允许改变this中保存的地址。常量成员函数:列表后面有c原创 2020-05-24 14:59:03 · 140 阅读 · 0 评论 -
[读书笔记] C++Primer (第5版) 第6章 函数
读书笔记只记录了我从书中获取的新知识,已经掌握的部分会忽略不计了。原创 2020-05-22 18:47:42 · 183 阅读 · 0 评论