当前位置: 首页 > wzjs >正文

网站建设电话着么打如何不备案建网站

网站建设电话着么打,如何不备案建网站,缅甸新闻最新消息,零基础做电商从什么做起目录 1. 拷贝构造函数的形参类型 关键要点: 2. 拷贝构造函数的调用次数分析 示例代码分析 运行结果与解析 调用次数原理 3. 减少拷贝构造次数的优化方法 优化策略 优化效果对比 总结 1. 拷贝构造函数的形参类型 关键要点: 必须使用引用类型 错…

目录

1. 拷贝构造函数的形参类型

关键要点:

2. 拷贝构造函数的调用次数分析

示例代码分析

运行结果与解析

调用次数原理

3. 减少拷贝构造次数的优化方法

优化策略

优化效果对比

总结


1. 拷贝构造函数的形参类型

关键要点:

  1. 必须使用引用类型
    错误形式:Int(Int it)
    会导致无限递归:当形参被赋值时,会再次触发拷贝构造函数调用。

  2. 正确形式:const引用
    Int(const Int &it)

    • 作用1:防止在拷贝过程中意外修改原对象

    • 作用2:允许接受常对象(const Int)作为参数,避免编译错误

示例说明:

class Int {
public:Int(const Int &it); // 正确写法
};

2. 拷贝构造函数的调用次数分析

示例代码分析

class Int
{
private:int value;
public:Int() :value() { cout << "Creat:" << value << " " << this << endl; }Int(int x) :value(x) { cout << "Creat:" << value << " " << this << endl; }~Int() { cout << "Destory:" << value << " " << this << endl; }void Print() const{cout << "value:" << value << endl;}void SetValue(int x){value = x;}Int(const Int& it){value = it.value;cout << "copy" << endl;}
};
Int func(Int c) {c.SetValue(100);return c;
}
int main() {Int a(10);   // 构造aInt b;       // 默认构造bb = func(a); // 调用func
}

运行结果与解析

Creat:10 0073FD0C       // 构造a
Creat:0 0073FD00        // 构造b
copy0073FC08            // 第一次拷贝:a→形参c
copy0073FC28            // 第二次拷贝:返回值→将亡值
Destory:100 0073FC08    // 析构形参c
Destory:100 0073FC28    // 析构将亡值
Destory:100 0073FD00    // 析构b
Destory:10 0073FD0C     // 析构a

调用次数原理

调用场景触发原因
第一次拷贝构造函数调用func(a)时,值传递形参c需通过拷贝构造从a创建
第二次拷贝构造函数返回时,需通过拷贝构造创建将亡值(临时对象),用于给b赋值

将亡值(expiring value):函数返回值时,若返回值类型非引用且大小超过寄存器容量,编译器会在主调函数栈帧中创建临时对象存储返回值。


3. 减少拷贝构造次数的优化方法

优化策略

  1. 函数形参使用引用传递
    将形参改为const Int &c,避免值传递时的拷贝构造调用。

    Int func(const Int &c) {  // 优化后Int tmp = c;          // 仅此处触发一次拷贝构造tmp.SetValue(100);return tmp;
    }

  2. 返回不具名对象(直接构造返回值)
    通过直接返回构造的临时对象,避免中间拷贝过程。

    Int Add(const Int &a, const Int &b) {return Int(a.value + b.value);  // 直接构造亡值,无额外拷贝
    }

优化效果对比

场景原调用次数优化后调用次数
调用func(a)2次0次(形参引用)
返回表达式直接构造对象1次0次(移动语义)

总结

  1. 拷贝构造函数的形参必须为const引用

    • 避免无限递归和常对象传递问题

  2. 拷贝构造触发场景

    • 值传递函数参数时

    • 返回非引用类型对象时

  3. 优化方法

    • 函数参数优先使用const &

    • 返回值时直接构造不具名对象,利用返回值优化(RVO)或移动语义(C++11+)

关键实践:在函数设计和返回值处理时,优先考虑引用传递和直接构造对象,可显著减少不必要的拷贝开销。


文章转载自:

http://4NM4fWDR.qkrqt.cn
http://efVmQWtj.qkrqt.cn
http://oFNhxCjJ.qkrqt.cn
http://tV75jhji.qkrqt.cn
http://B8ugSMrb.qkrqt.cn
http://3llTBxYG.qkrqt.cn
http://NdaRdlpg.qkrqt.cn
http://UfkLGTSO.qkrqt.cn
http://zCNF0AlS.qkrqt.cn
http://q1z6eKy3.qkrqt.cn
http://gHhh43VT.qkrqt.cn
http://Hm6RrCXp.qkrqt.cn
http://sj9qe9dw.qkrqt.cn
http://wJs8GFYd.qkrqt.cn
http://kVTExtEH.qkrqt.cn
http://Ee1JDsxm.qkrqt.cn
http://f6mkeLlC.qkrqt.cn
http://I4gfz0D1.qkrqt.cn
http://W8qBiJ53.qkrqt.cn
http://AYduWQ7o.qkrqt.cn
http://IikTfdA8.qkrqt.cn
http://W3SX7s4F.qkrqt.cn
http://ibTTPAdg.qkrqt.cn
http://wWbZA2pZ.qkrqt.cn
http://BCbUSobW.qkrqt.cn
http://K1AuqLjq.qkrqt.cn
http://m3rlfh8H.qkrqt.cn
http://COTcLIL0.qkrqt.cn
http://jy0Dd0jm.qkrqt.cn
http://bMscru9d.qkrqt.cn
http://www.dtcms.com/wzjs/711646.html

相关文章:

  • 中学建设校园网站方案企业网站设计一般多少钱
  • 贵阳查房子备案的网站承德房地产网站建设
  • 微信运营网站建设河北美丽乡村建设网站
  • 网站建设 博采安卓版下载app
  • 北京网站建设小鱼在线天眼通查公司查询入口
  • 运城住房和建设局网站ppt模板免费网站在线制作
  • 准备网站的工作制作人结局金秀贤和谁在一起了
  • 中小企业网站建设价位wordpress4.3 撰写设置
  • 软件下载网站制作电子信箱注册网站
  • 做网站设计工资多少钱网址怎么申请注册
  • 企业门户网站开发价格网站开发外包维护合同
  • 福州 网站设计公司北京专业网站设计制作
  • 宿松县住房和城乡建设局网站校园网站建设培训
  • 专业的网站建设公司排名有没有专门做根雕的网站
  • 容桂网站开发国内知名互联网公司
  • 数码产品销售网站建设策划书深圳建设集团网站
  • 中国建设工程鲁班奖查询网站大型网站和小企业站优化思路
  • 婴儿衣服做的网站好虚拟币交易网站建设
  • 营销网站建立公司网站服务器打不开
  • 建网站公司成都怎么做后台网站一键更新
  • 电子商务网站html模板企业怎样建立自己的网站
  • 网站建设公司名字后缀的域名暂无法进行网站备案
  • 网站平台建设呈现全新亮点青秀区网站建设
  • wordpress做网站网站开发模块查相似
  • 专业科技公司网站欣赏网站建设与推广协议
  • 网站推广方式组合行政事业单位网站建设
  • 个人做旅游网站的意义地方网站有何作用
  • 大良购物网站建设wordpress图片怎么居中
  • 安庆网站建设推荐安徽秒搜科技做的网站响应速度慢
  • 网站访问量很大怎么办百度授权代理商