上一页 1 2 3 4 5 6 7 8 9 10 ··· 17 下一页
摘要: #include <bits/stdc++.h> using namespace std; typedef vector<string>::size_type line_no; shared_ptr<vector<string>> file; map<string, shared_ptr<set<l 阅读全文
posted @ 2021-03-28 15:47 phr2000 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 继承关系对基类拷贝控制最直接的影响是基类要定义一个虚析构函数,这样我们才能动态分配继承体系中的对象. 当我们delete一个动态分配的对象的指针时将指向析构函数.如果该指针指向继承体系中的某个类型,则有可能出现指针的静态类型与被删除对象的动态类型不符的情况. 析构函数的虚属性会被继承.只要基类的析构 阅读全文
posted @ 2021-03-28 10:17 phr2000 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 拷贝构造函数 \(如果一个构造函数的第一个参数是自身类类型的引用,且任何额外参数都有默认值,则为拷贝构造函数.\) class Foo { public: Foo(); // 默认构造函数 Foo(const Foo &); // 拷贝构造函数 } \(拷贝构造在几种情况下都会被隐式使用,因此不应该 阅读全文
posted @ 2021-03-27 11:49 phr2000 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 派生类对象向基类的类型转换 因为派生类对象中含有与基类对应的组成部分, 所以能把派生类对象当成基类对象来使用,我们可以将基类的指针或引用绑定到派生类对象中的基类部分上. Quoto item; // 基类 Bulk_quote bulk; // 派生类 Quote item *p = &item p 阅读全文
posted @ 2021-03-27 09:51 phr2000 阅读(106) 评论(0) 推荐(0) 编辑
摘要: Define static type and dynamic type. static type: Type with which a variable is defined or that an expression yields. Static type is known at compile 阅读全文
posted @ 2021-03-27 09:49 phr2000 阅读(101) 评论(0) 推荐(0) 编辑
摘要: \(allocator类定义在头文件memory中,帮我们将内存分配和对象构造分离开来.\) \(它分配的内存时未构造.\) aallocator<string> alloc; // 定义可分配string的allocator对象 auto const p = alloc.allocate(n); 阅读全文
posted @ 2021-03-24 18:31 phr2000 阅读(49) 评论(0) 推荐(0) 编辑
摘要: shared_ptr类 \(与vector类似,智能指针也是模板.\) shared_ptr<string> p1; shared_pte<list<int>> p2; \(默认初始化的智能指针是一个空指针,与普通指针一样,解引用得到它指向的对象.\) if (p && p->empty()) *p 阅读全文
posted @ 2021-03-24 18:25 phr2000 阅读(35) 评论(0) 推荐(0) 编辑
摘要: \(new分配内存, delete释放new分配的内存.\) new \(在默认情况下,动态内存的对象是默认初始化的,所以内置类型或组合类型的对象的值是未定义的.\) string *ps = new string; // 初始化位空的string int *pi = new int // int的 阅读全文
posted @ 2021-03-24 18:24 phr2000 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 右值引用 \(所谓右值引用就是必须绑定到右值的引用.\\符号是\&\&.只能绑定到一个将要销毁的对象.\\因此.我们可以自由地将一个右值引用的资源"移动"到另一个对象.\) \(右值和左值都是表达式的属性.\\一般而言,一个左值表达的是一个对象的身份,而右值表达式表达是一个对象的值.\) \(类似任 阅读全文
posted @ 2021-03-24 18:15 phr2000 阅读(103) 评论(0) 推荐(0) 编辑
摘要: \(一个lambda表达式可以表示一个可调用的代码单元,可以将其理解成一个未命名的内联函数.\) \(一个lambda表达式具有一个返回类型,一个参数列表,一个函数体,与函数不同,它可能定义在函数内部.\) \(形式如下:\) [capture list](prarameter list) -> r 阅读全文
posted @ 2021-03-24 18:13 phr2000 阅读(45) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 17 下一页