网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
02月10日
漏签
0
天
c++吧
关注:
598,369
贴子:
2,106,886
看贴
图片
吧主推荐
游戏
1
2
下一页
尾页
66
回复贴,共
2
页
,跳到
页
确定
<<返回c++吧
>0< 加载中...
有关拷贝构造函数和转移构造函数的问题
只看楼主
收藏
回复
GestureWei
^
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
最近自己简单实现了一个GString字符串类,拷贝构造函数和转移构造函数均有实现,有一函数GString function()和赋值语句GString text=function();,如果function内实现为GString str; /* do something ... */ return str;,则text用转移构造,但是为什么function实现改为直接return GString(...);之后,text调用的反而是拷贝构造呢?求大神解释解释
GestureWei
^
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
编译环境是msvc2012
无锡锐赫新科技有限公司
运行库全能修复管家一键修复电脑软件和游戏缺失DLL、DirectX导致的崩溃、卡顿、故障等问题。百万用户已下载使用并推荐,一款值得信赖的
c++
程序神器。
2025-02-10 04:17
广告
立即查看
LH_Mouse_Ex
<<
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
return std::move(str);
渣渣 VC,没有 default move constructor 就算了左右值都搞不清楚。
void foo(std::string &&);
foo("abc"); // MSVC: compile error
白晓生锄禾
&
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
楼上又黑我VC
不过楼主的情况怎么和我印象中这里不一样,略奇怪
测试一下
白晓生锄禾
&
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
确实不一样
function实现改为直接return GString(...);
据我测试,这个不会调用copy构造函数,直接
调用的是那个参数构造函数
闲琰闲语
|
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
不懂什么是转移构造函数。但是楼主的疑问是因为使用临时变量使得编译器进行了优化,具体的学名好像叫return value optimization, 可以去baidu下
妹川内
,
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
可以再专业一点么!好吧!我承认我是小白~~~~
bsod
^
8
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
可能是优化的结果
Yo
Enky
<<
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
。。。
zhang6733675
|
7
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
我怎么没听过转移构造函数啊,只听过拷贝构造……
幻の上帝
->*
15
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
就M$这熊样这几年就别指望了,连ABI一起扔掉上MinGW吧。
吃山的水
<
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
可分开单独测试 或家标记
因为我不敢
&
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
return GString(...) 这个一般会进行RVO优化……
即只执行一次构造函数而不拷贝
LH_Mouse_Ex
<<
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
@GestureWei
无脑黑自重。
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示