社区
C++ 语言
帖子详情
关于拷贝构造函数的使用情况
Edwardyewei
2008-06-17 08:42:01
在下面的代码的main函数中类Copy的拷贝构造函数被调用了多少次
Copy f(Copy c)
{
Copy temp(c);
return temp;
}
main()
{
Copy c1;
Copy c2=f(c1);
}
A. 2 B. 3 C. 4 D. 5
我知道c1代入函数做参数使用了一次,Copy temp(c)一次,还有哪儿?
...全文
60
7
打赏
收藏
关于拷贝构造函数的使用情况
在下面的代码的main函数中类Copy的拷贝构造函数被调用了多少次 Copy f(Copy c) { Copy temp(c); return temp; } main() { Copy c1; Copy c2=f(c1); } A. 2 B. 3 C. 4 D. 5 我知道c1代入函数做参数使用了一次,Copy temp(c)一次,还有哪儿?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Vitin
2008-06-17
打赏
举报
回复
因为是否优化,是有编译器决定的。
当然在某个具体的编译器上(以及确定的配置),调用次数是固定的。
CHARLISW
2008-06-17
打赏
举报
回复
怎么会有最多和最少,调用了几次就是几次
3
Vitin
2008-06-17
打赏
举报
回复
最多四次,最少两次。
1、构造 c
2、构造 temp // 通过“具名返回值优化”,可以去掉
3、构造 f 的返回值 // 通过“返回值优化”,可以去掉
4、构造 c2
太乙
2008-06-17
打赏
举报
回复
Copy c2=f(c1); 这等号不算一次??
胡椒爸爸
2008-06-17
打赏
举报
回复
一般编译器都会有返回值优化的,所以就是你说的这两次了
ckt
2008-06-17
打赏
举报
回复
普通情况下
return temp; // 也会调用
珍惜生命远离CPP
2008-06-17
打赏
举报
回复
如果有返回值优化,那么通常就这2次.
JS深度揭秘第二章-函数深入
1、自执行函数原理 2、模块化开发 3、惰性函数 4、箭头函数 5、函数参数默认值及传递方式 6、reset参数 7、块级作用域 8、堆栈概念 9、垃圾回收机制 10、执行上下文 11、变量对象 12、作用域原理 13、this原理 14、...
拷贝构造函数
与赋值构造函数
拷贝构造函数
与赋值构造函数 ...在大多数
情况
下,
使用
合成的
拷贝构造函数
也不会出错。但要是你的类的数据成员中又指针或分配了内存。那合成的
拷贝构造函数
就不适用这种
情况
。 如下错误代码: #include <iostream>
构造函数与
拷贝构造函数
但是我们这里用构造函数辅助说明
拷贝构造函数
,主要说说
拷贝构造函数
的声明,用途和
使用
注意事项。 众所周知,构造函数是一个初始化类对象的函数,即使不显示调用,编译器也会隐式调用构造函数初始化类对象。同样的...
拷贝构造函数
在哪几种
情况
下会被调用
1. 深拷贝和浅拷贝(
拷贝构造函数
的
使用
) 有时候需要自己定义
拷贝构造函数
,以避免浅拷贝问题。 在什么
情况
下需要用户自己定义
拷贝构造函数
: 一般
情况
下,当类中成员有指针变量、类中有动态内存分配时常常...
拷贝构造函数
的三种
使用
情况
拷贝构造函数
的三种
使用
情况
使用
一个已经创建完毕的对象来初始化一个新对象。 以函数值传递的方式给函数参数传值。 以函数值方式返回局部对象。 具体示例如下: 1.
使用
一个已经创建完毕的对象来初始化一个新对象。...
C++ 语言
64,282
社区成员
250,470
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章