tlzmw001
tlzmw001
全部文章
C++Prim...
C++Primer 第13章拷贝控制(3)
C++Primer 第14章重载与转换(9)
俺的笔记(30)
实验记录(3)
数据结构(6)
数据结构与算法之美(1)
归档
标签
去牛客网
登录
/
注册
tlzmw001的博客
全部文章
/ C++Primer 第15章面向对象设计
(共14篇)
C++Primer-模板特例化
一个特例化就是模板的一个独立的定义 定义模板特例化用template加空尖括号对表明我们正在实例化一个模板,模板特例化本质上是创建一个实例,而不是重载函数类模板特例化需要在模板的命名空间内,且不必为所有模板参数提供实参,在使用时用户要为未指定的模板参数提供实参(在模板名后面的尖括号中指出) temp...
2021-06-24
0
367
C++Primer-可变参数模板
可变函数模板是一个接受可变数目参数的模板函数或模板类,可变数目的参数称为参数包,参数包分为模板参数包或者函数参数包,使用一个省略号来指出一个参数表示一个包,class...或typename...指出后面的参数表示零个或者多个类型的列表 template <typename T, typena...
2021-06-24
0
507
C++Primer-重载与模板
函数模板可以被另一个模板或普通函数重载,函数匹配规则有所改变:(1)候选函数包括所有模板实参推断成功的函数模板实例(2)按照类型转换排序,模板能调用的转换是很有限的(3)若优先级相同,只有一个普通函数选择普通函数,都是模板选择更特例化的模板 编写重载模板 template<typename T...
2021-06-24
0
435
C++Primer-模板实参推断
从函数实参来确定模板实参的过程称为模板实参推断 类型转换与模板类型参数调用时传递给函数模板的实参被用来初始化函数形参。若一个函数形参使用了模板类型参数,就会采用特殊的初始化规则。只有很少的几种类型转换会自动应用于这些实参,编译器通常不进行类型转换而是生成新的实例顶层const会被忽略可以将非cons...
2021-06-23
0
560
C++Primer-定义模板
函数模板模板定义以关键字template开始,后接模板参数列表,编译器用推断出来的模板参数进行实例化一个特定版本的函数类型前加typename或class,表明是类型模板参数 非类型模板参数用特定的类型名来定义非类型模板参数,实例化时编译器用常量表达式的值进行代替(例如unsigned) 声明inl...
2021-06-19
0
462
C++Primer-文本查询程序再探
将不同的查询建模成相互独立的类,共享一个公共基类,包含两个操作:接受一个文本并返回结果;用来转换初识文本和其他形式的操作 Query_base类 class Query_base { friend class Query; protected: using line_no = Tex...
2021-06-18
1
869
C++Primer-容器与继承
由于一个容器只能保存一种类型,所以对于继承的类,需要间接保存,存放指针而不是对象 编写basket类 class Basket { public: void add_item(const std::shared_ptr<Quote> &sale) { ...
2021-06-17
0
456
C++Primer-构造函数与拷贝控制
虚析构函数由于继承会发生静态类型与动态类型不一致的情况,所以使用delete时,可能造成错误,此时使用虚析构函数可以比较方便的解决,虚析构函数将自主的确定该使用哪种类的析构函数进行内存销毁如果类定义了析构函数,即使使用default的合成版本,编译器也不会再合成移动操作 删除的拷贝控制基类的关系(1...
2021-06-17
0
591
C++Primer-继承中的类作用域
每个类定义自己的作用域,派生类作用域嵌套在基类内,如果一个名字在派生类作用域内无法解析,将继续在外层的基类作用域中寻找在内层作用域的名字可以隐藏外层作用域的名字,可以使用作用域运算符来抵消隐藏名字查找发生在类型检查之前 通过基类调用隐藏的虚函数程序执行的顺序是名字查找、类型检查、虚函数匹配/直接调用...
2021-06-16
0
421
C++Primer-访问控制和继承
protected受保护成员保护类的成员,但是派生类的成员和友元可以访问基类的保护成员(派生类不能直接访问基类的受保护成员) 公有、私有和受保护继承派生访问说明符对于派生类成员和友元能否访问其直接基类的成员没什么影响,目的是控制派生类的用户对基类成员的访问权限,同时影响继承自派生类的新类使用成员的权...
2021-06-16
0
451
首页
上一页
1
2
下一页
末页