C赋值运算符 – 编译器生成还是自定义?

栏目: 服务器 · 编程工具 · 发布时间: 7年前

内容简介:如果您编写了自己的析构函数或复制构造函数,通常只需要编写自己的赋值运算符.如果您不需要那些,那么您也不需要赋值运算符.翻译自:https://stackoverflow.com/questions/3571975/c-assignment-operator-compiler-generated-or-custom

我有一个中等复杂的C类,它拥有从光盘读取的一组数据.它包含浮动,整体和结构的折衷混合,现在通常使用.在主要代码审查期间,询问我们是否有自定义赋值运算符,或者我们依赖于编译器生成的版本,如果是,我们如何知道它是否正常工作?好吧,我们没有编写自定义任务,因此添加了一个单元测试来检查我们是否这样做:

CalibDataSet datasetA = getDataSet();
CalibDataSet dataSetB = datasetA;

那么datasetB就像datasetA一样.几百行左右.现在,客户坚持认为我们不能依赖编译器(gcc)对未来的版本是正确的,我们应该编写自己的版本.他们坚持这个是正确的吗?

附加信息:

我对已发布的答案/评论和响应时间印象深刻.另一种提出这个问题的方法可能是:

POD结构/类何时成为’非’POD结构/类?

如果您编写了自己的析构函数或复制构造函数,通常只需要编写自己的赋值运算符.如果您不需要那些,那么您也不需要赋值运算符.

翻译自:https://stackoverflow.com/questions/3571975/c-assignment-operator-compiler-generated-or-custom


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Learning Vue.js 2

Learning Vue.js 2

Olga Filipova / Packt Publishing / 2017-1-5 / USD 41.99

About This Book Learn how to propagate DOM changes across the website without writing extensive jQuery callbacks code.Learn how to achieve reactivity and easily compose views with Vue.js and unders......一起来看看 《Learning Vue.js 2》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

SHA 加密
SHA 加密

SHA 加密工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换