腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
为什么
删
除了
复制
和
移动
构造
函数
的
对象
仍然
可以
传
递给
接受
r
值
引用
的
函数
?
c++
、
move-semantics
、
rvalue-reference
我有以下代码,它显然是在MSVC
和
GCC中编译
的
: #include <iostream> { Test() = default;44
浏览 20
提问于2021-11-22
得票数 1
回答已采纳
2
回答
通用
引用
和
本地类
c++
、
forward
、
forwarding
、
perfect-forwarding
、
forwarding-reference
在下面的代码中,我有一个
接受
“通用
引用
”(F&&)
的
函数
。该
函数
还有一个内部类,它在
构造
函数
中
接受
F&&
的
一个
对象
。在这一点上,F&&
仍然
是一个普遍
的
参考吗?也就是说,F是否
仍然
被认为是一种推导型?换句话说,我应该在
构造
函数
初始化列表中使用std::forward<F>
浏览 8
提问于2014-09-18
得票数 3
回答已采纳
4
回答
我应该为std::string使用rvalue编写
构造
函数
吗?
c++
、
string
、
constructor
、
c++11
、
rvalue-reference
我有一个简单
的
类:{ X (const std::string& s) : S(s) { }我最近读了一些关于rvalue
的
文章,我一直在想,我是否应该用rvalue为X编写
构造
函数
,这样我就
可以
检测std::string类型
的
临时
对象
了?我认为它应该看起来像这样:据我所知,在支持C++11
的
编
浏览 0
提问于2012-05-31
得票数 14
回答已采纳
3
回答
为什么
不可
移动
的
物体
仍然
是一个副本
c++
、
move-semantics
、
rvalue-reference
、
rvalue
考虑到以下代码,实体
对象
是不可
移动
的
.我知道std::move( Obj )刚刚将Obj转换成一个rvalue
引用
Obj。我还知道rvalue
引用
变量
仍然
是一个lvalue
对象
。但我
仍然
不明白
为什么
语句auto temp = std::move(a)
可以
调用
复制
构造
函数
,而语句a = std::move(b);
可以
调用
复制
赋值操
浏览 8
提问于2022-05-03
得票数 1
回答已采纳
1
回答
在lambda捕获
的
对象
中选择
移动
构造
函数
c++
、
lambda
、
move
作为测试,类定义了
复制
构造
函数
,并显式删
除了
移动
构造
函数
,因此不能
移动
对象
。,当
移动
构造
函数
被显式删除时,它
的
声明
仍然
存在于重载过程中,这就是
为什么
不能
构造
foo b。只定义了
复制
构造
函数
,就不会声明
移动
构造
函数<
浏览 2
提问于2022-03-28
得票数 2
回答已采纳
1
回答
这是一个短手变量声明吗?
c++
我在读
的
一本书里看到了这个:这是否与以下情况相同: Rectangle
r
= Rectangle(Point(200,200));
浏览 2
提问于2015-06-25
得票数 2
回答已采纳
1
回答
为什么
我
可以
用删除
的
move
构造
函数
和
赋值操作符来
移动
对象
?
c++
、
c++17
、
move
、
move-semantics
、
rvalue-reference
is_open; /* some code */FileDescriptor fdhERR(6); /* some code */ 我不太熟悉rvalue
的</
浏览 22
提问于2019-09-23
得票数 1
回答已采纳
2
回答
关于将临时
对象
传
递给
const
引用
的
问题
c++
、
reference
在Andrew编写
的
“加速C++”一书中,他展示了以下代码:{} 现在,等级
函数
使用const
引用
vector<double>。对我来说,这意味着应该
复制
emptyvec()返回
的
临时
对象
,因为它是作为局部变量
浏览 4
提问于2017-02-13
得票数 6
回答已采纳
1
回答
为什么
std::线程通过转发
引用
接受
函子
c++
、
multithreading
、
c++11
、
c++14
、
forwarding-reference
为什么
std::thread
对象
通过转发
引用
接受
函数
参数,然后使用decay_copy
复制
对象
?按
值
接受
函数
对象
不是更容易吗? 一般来说,
为什么
不模板一个
函数
,以便按
值
获取一个
函数
对象
?
引用
-ness不
可以
用reference_wrapper来模拟(这将更加显式,并且还<em
浏览 4
提问于2016-07-23
得票数 6
回答已采纳
4
回答
move
构造
函数
应该
接受
常量还是非常量
的
右
值
引用
?
c++
、
c++11
、
rvalue-reference
、
move-constructor
在几个地方,我已经看到推荐
的
复制
和
移动
构造
函数
签名,如下所示:{ T(const T& other);}; 其中,
复制
构造
函数
采用常量
引用
,而
移动
构造
函数
采用非常量右
值
引用
。,T
的
复制
<
浏览 2
提问于2012-05-27
得票数 39
回答已采纳
1
回答
make_unique
的
move语义是如何工作
的
?
unique-ptr
、
move-semantics
在代码中:我知道这是一个未命名
的
临时Checking_Account
对象
,它将
移动
到一个向量中,但是“
移动
”是如何工作
的
呢?我假设Checking_Account类没有'move‘
构造
函数
。push_back方法将调用
复制
构造
函数
,但make_u
浏览 24
提问于2020-12-17
得票数 0
2
回答
C++11 rvalue两次调用destructior
c++
、
multithreading
、
c++11
我正在尝试使一个类运行器(在一个固定时间freq上运行一个类),它在另一个线程中运行一个类,并且
可以
从主线程中被控制(比如暂停、恢复、停止)。此语句作为
函数
声明被中断。谢谢你
的
评论
和
回答。在查看之后
浏览 2
提问于2012-05-16
得票数 3
回答已采纳
1
回答
可
移动
但不可
复制
的
物品:按价值传递还是通过参考传递?
c++
、
c++11
、
parameter-passing
、
move-semantics
、
ownership-semantics
考虑到仅可
移动
但不可
复制
的
对象
(例如,std::thread或std::unique_ptr),我希望通过将该
对象
作为参数传
递给
构造
函数
来转移该
对象
所包含
的
资源
的
所有权。我正在比较两种方法:
构造
器通过
值
获取
对象
,而通过rvalue
引用
获取
对象
。作为std::thread
的
一个示例,考虑下面的类
浏览 6
提问于2019-11-21
得票数 1
回答已采纳
3
回答
当抛出一个
对象
时,它是被
复制
还是被
移动
?
c++
、
exception
、
copy-constructor
、
throw
、
move-constructor
据我所知,默认情况下会
复制
抛出
的
对象
。因此,当我抛出一个
对象
时,应该调用
复制
构造
函数
。我也知道编译器
可以
优化
和
省略
复制
。我在这里有一个简单
的
程序,我抛出了一个叫做X
的
类。如果我把这个类设为不可
复制
的
,那么这个
对象
就不能被抛出。但是一些意想不到
的
事情发生了。如果我删
除了
复制
<e
浏览 3
提问于2020-03-11
得票数 2
1
回答
未调用rvalue
引用
的
C++
移动
构造
函数
c++
、
constructor
、
move-semantics
、
rvalue-reference
} { return 0;对于上面的代码,我预期test()中
的
两个
对象
创建都会调用move
构造
函数
,因为b是一个
r
值
引用
类型但是,将b传
递给
MyClasss
构造
函数
并不像预期
的
那样调用move
构造
函数
,而是调用copy
构造
函数
。
为什么</
浏览 3
提问于2016-07-16
得票数 3
3
回答
C++有两个
复制
构造
函数
,都是按
引用
和
按
值
的
?
c++
、
copy-constructor
double _re, double _im):re(_re),im(_im){}}; 我已经知道
复制
构造
函数
但是,它应该只选择常量
引用
复制
构造
函数
complex(const complex &c)作为
复制
函数
,因为如果没有显式指定,这是默认行为。
为什么
它要在这里应用带有pass by
值</
浏览 3
提问于2011-12-09
得票数 1
1
回答
作为参数
的
rvalue
引用
和
const 1
值
引用
之间
的
混淆
c++
因此,
复制
构造
函数
的
参数列表由一个const
引用
组成,如const B& x。然而,
移动
构造
函数
的
参数列表包含一个rvalue
引用
,如B&& x。当我发现这一点时,我觉得很奇怪,所以我试图定义一个
函数
,将const
值
引用
作为一个参数:{ cout &l
浏览 0
提问于2017-06-24
得票数 7
回答已采纳
3
回答
理解`std::is_move_constructible`
c++
、
c++11
、
move-constructor
没有
移动
构造
函数
的
类型,但是有一个
接受
const T&参数
的
复制
构造
函数
,
可以
满足std::is_move_constructible。,因为它有用户定义
的
复制
构造
函数
。但是,如果取消对
移动
构造
函数
的
显式删除
的
注释,代码将不再编译。
为什么</
浏览 8
提问于2015-11-26
得票数 21
回答已采纳
2
回答
复制
器
的
异常行为
c++
但是根据我在四处看了一段时间后发现
的
,它应该打印出来。B to A conversion ctor首先,转换ctor创建一个类型为A
的
临时
对象
,然后将该
对象
复制
到a中,在其中调用copy。另外,当copy变为私有时,语句A a = b;将生成此错误:显然,将临时
对象
复制
到a
复制
ctor必须是可见
的
。所以,我
的
问题是,
为
浏览 1
提问于2015-11-24
得票数 0
回答已采纳
4
回答
当我们通过
值
从一个方法返回一个
对象
时,
为什么
调用
复制
构造
函数
c++
、
copy-constructor
、
return-by-value
当我们通过
值
从一个方法返回一个
对象
时,
为什么
调用
复制
构造
函数
。请看我下面的代码,我从一个方法中返回一个
对象
,而返回控制就是命中
复制
构造
函数
,然后返回。以下是我不理解
的
事情:2)哪个
对象
正在隐式地传
递给
复制
构造
函数</e
浏览 4
提问于2013-05-24
得票数 11
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
请问C+11有哪些新特性?
C+之右值引用
C+11移动构造函数详解
再见,面向对象编程(二)
Python里参数是值传递还是引用传递?
热门
标签
更多标签
活动推荐
运营活动
广告
关闭
领券