上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 23 下一页
摘要: 目标代码 本节重在理解下述的代码,尤其是->的返回值 class StrBlobPtr{ public : string& operator*() const{ auto p = check(curr, "dereference past end"); return (*p)[curr]; //*p 阅读全文
posted @ 2022-03-02 14:07 Miaops 阅读(67) 评论(0) 推荐(0)
摘要: 在13.1节中已经介绍过赋值运算符的编写,再次不再赘述,主要强调三个原则 参数:const引用 返回值:左侧对象引用 步骤:拷贝参数对象,释放左对象,更新左对象。【处理自赋值】 用初始化列表initializer_list来赋值 和拷贝赋值及移动赋值运算符一样,其他重载的赋值运算符也必须先释放当前内 阅读全文
posted @ 2022-03-02 14:06 Miaops 阅读(50) 评论(0) 推荐(0)
摘要: 表示容器的类通常可以通过元素在容器中的位置访问元素,这些类一般会定义下标运算符operator[]。 下标运算符必须是成员函数。 为了与下标的原始定义兼容,下标运算符通常以所访问元素的引用作为返回值,这样做的好处是下标可以出现在赋值运算符的任意一端。进一步,我们最好同时定义下标运算符的常量版本和非常 阅读全文
posted @ 2022-03-02 14:06 Miaops 阅读(207) 评论(0) 推荐(0)
摘要: 14.3.0 基本介绍 通常情况下,我们把算术和关系运算符定义成非成员函数以允许对左侧或右侧的运算对象进行转换(参见14.1节,第492页)。 参数:常量引用。因为这些运算符一般不需要改变运算对象的状态,所以形参都是常量的引用。 返回值:值返回。算术运算符通常会计算它的两个运算对象并得到一个新值,这 阅读全文
posted @ 2022-03-02 14:05 Miaops 阅读(146) 评论(0) 推荐(0)
摘要: 14.2.1 重载输出运算符 参数与返回值 第一个形参:ostream的引用【ostream无法复制】 第二个新参:常量引用【避免复制对象】 返回:ostream的引用【链式使用】 Sale_data的输出运算符 ostream& operator<<(ostream &os; const Sale 阅读全文
posted @ 2022-03-02 13:16 Miaops 阅读(99) 评论(0) 推荐(0)
摘要: 基本介绍 重载运算符是特殊名字的函数 名字:operator后面加上需要重载的运算符号 构成: 参数列表 返回类型 函数体 注意点: 不能含有默认实参 第一个(左侧)运算对象绑定到隐式的this,所以显式的运算对象比实际的运算对象少一个 至少有一个类类型对象参数 //错误:不能重新定义内置的运算符 阅读全文
posted @ 2022-03-02 13:15 Miaops 阅读(119) 评论(0) 推荐(0)
摘要: 目录信号量PV操作基本介绍数据结构解决进程互斥问题解决进程同步问题代码实现(以同步问题为例) 信号量PV操作 基本介绍 信号量(Semaphore):是表示资源的实体,是一个与队列有关的整型变量,其值仅能由P、V操作改变。 信号量分为:公用信号量和私用信号量。 公用信号量:用于实现进程间的互斥,初值 阅读全文
posted @ 2022-03-01 19:00 Miaops 阅读(1726) 评论(0) 推荐(0)
摘要: 定义一个类时,我们必须对它进行拷贝控制,即控制该类在进行拷贝、赋值、移动和销毁时要进行哪些操作 一个类通过五个特殊的成员函数进行拷贝控制 拷贝构造函数 拷贝赋值函数 移动构造函数 移动赋值函数 析构函数 拷贝构造和移动构造函数:用同类型初始化对象时该做什么 拷贝和赋值运算符:将一个对象赋予同类型对象 阅读全文
posted @ 2022-03-01 15:22 Miaops 阅读(131) 评论(0) 推荐(0)
摘要: 为了定义这些成员,我们首先必须确定此类型对象的拷贝语义。一般来说,有两种选择:可以定义拷贝操作,使类的行为看起来像一个值或者像一个指针。 类的行为像一个值,意味着它应该也有自己的状态。当我们拷贝一个像值的对象时,副本和原对象是完全独立的。改变副本不会对原对象有任何影响,反之亦然。 行为像指针的类则共 阅读全文
posted @ 2022-03-01 15:22 Miaops 阅读(68) 评论(0) 推荐(0)
摘要: 目录一、介绍二、shared_ptr类make_shared函数shared_ptr的拷贝和引用shared_ptr自动销毁所管理的对象……shared_ptr还会自动释放相关联对象的内存使用动态生存期的资源的类应用举例:Blob类定义Blob类StrBlob的构造函数元素访问成员函数StrBlob 阅读全文
posted @ 2022-03-01 09:39 Miaops 阅读(641) 评论(1) 推荐(5)
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 23 下一页