社区
C++ 语言
帖子详情
C++ 右值引用
Jenf_Mu
2012-10-10 05:20:14
VS2010的vector模板类的void push_back(_Ty&& _Val)
用到了右值引用,这是C++11标准有的。
但我试了
vt.push_back(MyClass(1));
仍然会调用一次构造函数,一次复制构造函数。那和push_back(const _Ty& _Val)这样,有啥区别呀,直接用const引用参数不就行了。
...全文
162
7
打赏
收藏
C++ 右值引用
VS2010的vector模板类的void push_back(_Ty&& _Val) 用到了右值引用,这是C++11标准有的。 但我试了 vt.push_back(MyClass(1)); 仍然会调用一次构造函数,一次复制构造函数。那和push_back(const _Ty& _Val)这样,有啥区别呀,直接用const引用参数不就行了。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
漫步者、
2012-10-10
打赏
举报
回复
双&&?
qingcairousi
2012-10-10
打赏
举报
回复
你的move constructor呢?
taodm
2012-10-10
打赏
举报
回复
楼主,不要在C++98标准的语法基础还不过关的情况下去强行学习C++2011的东西,先放一放吧。
Saleayas
2012-10-10
打赏
举报
回复
添加一个移动构造!
LJT25
2012-10-10
打赏
举报
回复
vt.push_back(MyClass(1));
仍然会调用一次构造函数,一次复制构造函数。那和push_back(const _Ty& _Val)这样,有啥区别呀,直接用const引用参数不就行了。
这个当然要调用一次构造函数,一次复制构造函数了。
构造函数调用在Myclass(1),此时生成一个无名对象,作为引用参数传递给push_back函数,push_back函数要复制实参到自己的存储空间,所以会调用一次复制构造函数。
oN5GrzoN
2012-10-10
打赏
举报
回复
void FunTest(MyClass && fi)
{
cout<<"&&"<<endl;
}
void FunTest(const MyClass & fi)
{
cout<<"const &"<<endl;
}
int main(int argc, char *argv[])
{
MyClass fi("ABC");
FunTest(fi);
return 0;
}
Flammable_ice
2012-10-10
打赏
举报
回复
对于C++11标准我还不太清楚,等大神来回答吧。友情帮顶下。
深入理解
c++
右值引用
1
引用类型可被引用的类型注记非常量左值常量左值非常量右值常量右值非常量左值引用// ncLeft1为非常量左值int ncLeft1 = 2;该引用类型本身为常量
C++
11 标准新特性_
右值引用
与转移语义
C++
11的新特性。尤其是lamda表达式,使得
C++
灵活了很多
C++
零基础入门(
C++
11/
C++
14)
这部分主要学习零散的基础语法,比如变量、常量、运算符、数据类型、enum、union、 数组、动态数组、字符串、条件结构、循环结构、函数、指针(非常重要)、引用(非常重要, 包括
C++
11开始引入的右值、
右值引用
)等。...
c++
的
右值引用
具体用法
在
c++
11中,支持
右值引用
,
右值引用
的用处之一是移动语义,对象的资源所有权发生转移,在
c++
11之前,移动语义的缺失是
c++
饱受诟病的问题之一. 什么是左值?什么是右值? 凡有名者,皆为左值.左值对应变量的存储位置...
C++
11
右值引用
和std::move语句实例解析(推荐)
右值引用
(及其支持的Move语意和完美转发)是
C++
0x将要加入的最重大语言特性之一。从实践角度讲,它能够完美解决
C++
中长久以来为人所诟病的临时对象效率问题。从语言本身讲,它健全了
C++
中的引用类型在左值右值方面...
C++ 语言
64,678
社区成员
250,490
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章