5. 赋值操作符

5. 赋值操作符
并不是程序清单12.3的所有问题都可以归咎于默认的复制构造函数,还需要看一看默认的赋值操作符。
ANSI C 允许结构赋值,而C++允许类对象赋值,这是通过自动为类重载赋值操作符实现的。这种操作符
的原型如下:
Class name & Class_name :: operator= (const Class_name &) ;
它接受并返回一个指向类对象的引用。例如,StringBad类的赋值操作符的原型如下:
StringBad & StringBad :: operator= (const StringBad &) ;
(1)何时使用赋值操作符
将已有的对象赋给另一个对象时,将使用重载的赋值操作符:

388

C++Primer Plus(第五版)中文版

StringBad headlinel ("Celery Stalks at Midnight") ;

StringBad knot:
knot = headlinel; // assignment operator invoked
初始化对象时,并不一定会使用赋值操作符:
StringBad metoo = knot: // use copy constructor, possibly assignment, too
这里,metoo是一个新创建的对象,被初始化为knot的值,因此使用复制构造函数。不过,正如前面
指出的,实现时也可能分两步来处理这条语句:使用复制构造函数创建一个临时对象,然后通过赋值将临
时对象的值复制到新对象中。这就是说,初始化总是会调用复制构造函数,而使用=操作符时也可能调用
赋值操作符。
(2)赋值操作符的功能
与复制构造函数相似,赋值操作符的隐式实现也对成员进行逐个复制。如果成员本身就是类对象,则
程序将使用为这个类定义的赋值操作符来复制该成员,但静态数据成员不受影响。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/234998.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大数据机器学习:从理论到实战,探索学习率的调整策略

大数据机器学习:从理论到实战,探索学习率的调整策略 全文目录 大数据机器学习:从理论到实战,探索学习率的调整策略一、引言二、学习率基础定义与解释学习率与梯度下降学习率对模型性能的影响 三、学习率调整策略常量学习率时间衰减…

《PySpark大数据分析实战》-16.云服务模式Databricks介绍运行案例

📋 博主简介 💖 作者简介:大家好,我是wux_labs。😜 热衷于各种主流技术,热爱数据科学、机器学习、云计算、人工智能。 通过了TiDB数据库专员(PCTA)、TiDB数据库专家(PCTP…

【大数据面试】Flink面试题附答案

目录 ✅Flink介绍、特点、应用场景 ✅Flink与Spark Streaming的区别 ✅Flink有哪些部署模式 ✅Flink架构 ✅怎么设置并行度? ✅什么是算子链? ✅什么是任务槽(Task Slots)? ✅任务槽和并行度的关系 ✅Flink作…

TOPCON拓普康SR-3AR亮度计

特征 ■ 分光测光方式下的高速度、高精度值测定。 ■ 无需使用辅助镜,也能实现细微面、低亮度领域的高精度测定。 ■ 电动切换测定角(2/1/0.2/0.1)。 ■ 高精度测定频闪光源(搭载同步测定功能、积分时间延期…

uint29传输格式

前言 不知道谁想出来的。 反正我是想不到。 我看网上也没人讲这个。 写篇博客帮一下素未谋面的网友。 uint29 本质上是网络传输的时候,借用至多4字节Bytes,表达29位的无符号整数。 读8位数字,判断小于128? 是的话,返回末7位…

[原创][R语言]股票分析实战[3]:周级别涨幅趋势的相关性

[简介] 常用网名: 猪头三 出生日期: 1981.XX.XX QQ联系: 643439947 个人网站: 80x86汇编小站 https://www.x86asm.org 编程生涯: 2001年~至今[共22年] 职业生涯: 20年 开发语言: C/C、80x86ASM、PHP、Perl、Objective-C、Object Pascal、C#、Python 开发工具: Visual Studio、D…

App(Android)ICP备案号查询——————高仿微信

😄 个人主页:✨拉莫帅-CSDN博客✨🤔 博文:132篇🔥 原创:130篇,转载:2篇🔥 总阅读量:388923❤️ 粉丝量:112🍁 感谢点赞和关注 &#x…

大数据时代,如何基于机密虚拟化技术构建数据安全的“基石”

云布道师 2023 年 10 月 31 日-11 月 2 日,2023 云栖大会在中国杭州云栖小镇举行,阿里云弹性计算产品专家唐湘华、阿里云高级安全专家刘煜堃、蚂蚁集团高级技术专家肖俊贤三位嘉宾在【云服务器 & 计算服务】专场中共同带来题为《大数据时代&#xf…

SpringBoot和JDK版本兼容性

SpringBoot和JDK版本兼容问题,就是SpringBoot的每个版本支持哪些JDK版本。 在spring官网、spring-boot项目的github地址都没有找到一个统一的总结,类似表格这样,所以到spring-boot的各个版本的文档中找出来。如果有官方的总结我没找到的&…

uni-app只执行一次事件

在 <script setup> 中&#xff0c;你可以使用 onMounted 钩子函数来实现只执行一次的事件。onMounted 钩子函数会在组件挂载后立即执行&#xff0c;并且仅执行一次&#xff0c;因此适合用于只执行一次的事件处理。 以下是一个示例&#xff0c;演示了如何在 <script s…

Java 多线程之 ThreadLocal 的使用

文章目录 一、概述二、使用方法三、测试示例四、应用示例五、在 Spring 源码中应用 一、概述 ThreadLocal 用于在多线程环境中维护线程封闭&#xff08;thread-local&#xff09;的变量。线程封闭是一种确保变量在多线程环境中的线程安全性的机制&#xff0c;每个线程都有自己独…

3-高可用-隔离术

隔离是指将系统或资源分割开&#xff0c;系统隔离是为了在系统发生故障时&#xff0c;能限定传播范围和影响范围&#xff0c;即发生故障后不会出现滚雪球效应&#xff0c;从而保证只有出问题的服务不可用&#xff0c;其他服务还是可用的。 比较多的隔离手段有线程隔离、进程隔…

Java--包,访问修饰符,多态数组,==和equals,hashcode,toString

包 同一个包里面不能有重复的类&#xff0c;不同的包可以有相同的类&#xff0c;包和包之间互不干涉。一个包下面有很多的类。 包的命名规则&#xff1a; 只能包含数字&#xff0c;字母&#xff0c;下划线&#xff0c;小圆点&#xff0c;但不能用数字开头&#xff0c;不能是关…

2_js运算符与流程控制语句

1. 运算符的应用 1.1 算数运算符 浮点数的精度问题 浮点数值的最高精度是17位小数&#xff0c;不要直接判断两个浮点数是否相等。 var result 0.1 0.2; // 结果不是 0.3&#xff0c;而是&#xff1a;0.30000000000000004 console.log(0.07 * 100); // 结果不是 7&#…

C++学习笔记(十五)

继承 继承是面向对象三大特性之一 有些类与类之间存在特殊的关系&#xff0c;例如下图中&#xff1a; 我们发现&#xff0c;定义这些类时&#xff0c;下级别的成员除了拥有上一级的共性&#xff0c;还有自己的特性。 这个时候我们就可以考虑利用继承的技术&#xff0c;减少重…

3 - Electron app BrowserWindow对象-关于窗口

优雅的打开应用~ 当加载缓慢&#xff0c;打开应用的一瞬间会出现白屏&#xff0c;以下方法可以解决 const mainWindow new BrowserWindow({ show: false }) mainWindow.once(ready-to-show, () > {mainWindow.show() }) 设置背景颜色 const win new BrowserWindow({ b…

对数器的作用(找bug)

冒泡排序 package class02;public class Code_Comp_BubbleSort {public static void bubbleSort(int[] arr) { // 冒泡排序错误写法if (arr.length < 2) {return;}for (int i 0; i < arr.length; i) {for (int j 0; j < arr.length - 1; j) {if (arr[j] < arr[j…

MongoDB的原子操作findAndReplace、findOneAndDelete和deleteMany

本文主要介绍MongoDB的原子操作findAndReplace、findOneAndDelete和deleteMany。 目录 MongoDB的原子操作一、findAndReplace二、findOneAndDelete三、deleteMany MongoDB的原子操作 MongoDB的原子操作指的是在单个操作中对数据库的数据进行读取和修改&#xff0c;并确保操作是…

ALVR 编译 windows android [Streamer Client]

ALVR下载源码地址&#xff1a;ALVR download 1 ALVR windows编译 [Streamer Building] 1.1 环境安装 参照官方文档&#xff1a;https://github.com/alvr-org/ALVR/wiki/Building-From-Source&#xff0c; 1 rust环境安装&#xff1a; 下载并安装https://static.rust-lang.…

selenium css定位

selenium-css定位 element_css driver.find_element(By.CSS_SELECTOR, css表达式)css定位说明 selenium中的css定位&#xff0c;实际是通过css选择器来定位到具体元素&#xff0c;css选择器来自于css语法 css定位优点 语法简洁对比其他定位方式&#xff0c;定位效率更快对…