腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
如果
不存在
原始
指针
变量
,
则
C++
移动
构造
函数
与
复制
构造
函数
在学习
C++
和所有关于
构造
函数
(
复制
、
移动
)的时候,我想知道什么是正确/智能/有效的方法。下面的场景:我有一个包含标题、分级和计数器的类Movie。因此,
如果
我看了3部电影,我的数组将包含Movie类的3个实例。因为我的电影类不包含
原始
指针
,所以我想知道使用copy还是move将特定的电影添加到我的集合中是否会有性能上的差异。
浏览 9
提问于2021-04-08
得票数 1
2
回答
自动生成的
移动
操作和
原始
指针
成员
、
、
、
相反,m_first和m_last是
与
文件内容映射的内存区域中的
原始
指针
。 我希望MemoryMappedFile类是可
移动
的(但不能
复制
,就像Handle类一样)。
如果
没有
原始
指针
,根据C++11的规则,按成员级
移动
自动生成
移动
构造
函数
,类将自动
移动
。不幸的是,
原始
指针
迫使我编写自定义
移动
构造</em
浏览 3
提问于2014-03-10
得票数 1
回答已采纳
1
回答
什么意思
移动
操作从未被定义为已删除的
函数
?
、
、
我正在阅读
C++
引物5版。直到第13章在谈到“
移动
操作”时:
与
复制
构造
函数
不同,
如果
类的成员定义了自己的
复制
构造
函数
,但也没有定义
移动<
浏览 1
提问于2020-02-02
得票数 0
2
回答
如果
我们只定义
复制
构造
函数
/ defined =,为什么
移动
构造
函数
/
移动
分配没有被隐式声明并被定义为已删除?
、
按照
C++
标准12.8.7: 我想知道为什么
移动
构造
浏览 2
提问于2015-02-16
得票数 3
回答已采纳
1
回答
C++
中一类隐式成员
函数
C++
中类的隐式成员
函数
是: As per:
复制
构造
函数
如果
没有
移动
构造
函数
或
移动
赋值操作符显式地declared.If,则声明析构
函数
生成副本
构造
函数
。
如果
没有显式声明
复制
构造</e
浏览 2
提问于2013-02-14
得票数 6
回答已采纳
1
回答
移动
构造
函数
是自动生成的,即使成员没有
移动
构造
函数
?
、
、
引用自
C++
Primer
如果
我们显式地要求编译器使用= default生成
移动
操作,而编译器无法
移动
所有成员,
则
移动
操作将被定义为已删除。
如果
类的成员定义了自己的
复制
构造
函数
,但没有定义
移动
构造
函数
,或者类的成员没有定义自己的
复制
操作,且编译器无法合成
移动
构造
函数
,
则
<
浏览 3
提问于2017-06-21
得票数 5
回答已采纳
1
回答
构造
和删除包含
指针
向量的对象
我有一个自定义类和一个box类的一些项目,它们包含指向这些项目的
指针
。> {item_1, item_2}}; delete b;delete item_2; 我对这里的
指针
向量很好奇在这种情况下,为'Box‘编写合适的
构造
函数
/析构
函数
的最佳方式是什么?
浏览 0
提问于2021-05-06
得票数 0
5
回答
第5条规则(用于
构造
函数
和析构
函数
)是否过时?
、
、
、
5的规则规定,
如果
一个类有一个用户声明的析构
函数
、
复制
构造
函数
、
复制
赋值
构造
函数
、
移动
构造
函数
或
移动
赋值
构造
函数
,那么它必须有其他4。但是今天我明白了:您什么时候需要用户定义的析构
函数
、
复制
构造
函数
、
复制
赋值
构造
函数
、<e
浏览 6
提问于2020-12-26
得票数 40
回答已采纳
1
回答
使用指向
c++
中新对象和运算符的
指针
定义对象
、
、
关于具有指向对象的
指针
的对象定义的简单示例。我们定义一个对象A *a = new A(123.4);,然后用A *b = new A(*a);定义另一个对象。我不明白的是,对于b(
指针
到)对象,这到底是如何工作的?
复制
构造
函数
如何在这里启动并初始化
与
对象a相同的值?我认为,要使其工作,我们应该在类中声明一个自定义
复制
构造
函数
。
浏览 1
提问于2015-04-29
得票数 0
回答已采纳
2
回答
C++
-为什么这段代码在没有明显的
构造
函数
匹配的情况下会编译呢?
、
、
、
explicit Foo(double) {}Foo * test() {} 我的问题
与
第我没有注意到由于
复制
/粘贴错误,该类型已经指定了两次。我的
原始
代码是在一个更大的上下文中,并且用两个基于LLVM-3的编译器进行了测试.都是在没有警告或错误情况下编译的。有了一种,代码实际上起了我预期的作用,事实上,有一段时间我没有意识到有一个bug。对于另一个实例,Foo实例的行为非常奇怪--我无法真正正确地
浏览 3
提问于2014-08-02
得票数 2
回答已采纳
1
回答
返回unique_ptr<T>。概念澄清
、
、
、
、
在阅读boost unique_ptr和这篇时,它指出这样的
指针
不能被
复制
,但我理解它指出这样的
指针
可以从
函数
返回。这在我的脑海中提出了一个问题,当一个
函数
返回一些东西时(不是作为引用或
指针
),
复制
构造
函数
是called.So的,这是否意味着唯一的ptr不能与赋值操作符一起工作,而与
复制
构造
函数
一起工作(这样一次只有
浏览 0
提问于2013-06-04
得票数 5
回答已采纳
2
回答
为什么在动态的mem分配中,
移动
语义
与
浅层
复制
具有相同的行为?
、
、
、
在处理动态mem分配的类中,浅层
复制
基本上导致程序删除两次资源。在
移动
操作中,
原始
指针
不再指向资源,那么为什么
移动
语义中会出现相同的行为呢?
浏览 7
提问于2017-07-29
得票数 1
回答已采纳
5
回答
编译器生成的
移动
构造
函数
的行为是什么?
、
、
std::is_move_constructible<T>::value == true是否意味着T有一个可用的move
构造
函数
?
如果
是的话,它的默认行为是什么?所以在这种情况下, move
构造
函数
的默认行为
与
复制</e
浏览 0
提问于2013-04-17
得票数 38
回答已采纳
1
回答
如何编写
与
复制
构造
函数
具有相同签名的
C++
构造
函数
?
) {} X(const X& parent) : parent(&parent) {}问题是
构造
函数
2是
复制
构造
函数
,但它不是
复制
构造
函数
。显然,我可以让
构造
函数
2接受一个
指针
。另一个解决方案可以是创建一个静态方法来
构造
一个新的X并设置它的
浏览 3
提问于2021-02-15
得票数 1
回答已采纳
1
回答
通过
复制
将对象传递给CUDA内核,调用其析构
函数
并过早释放内存。
、
、
(data) ... }; int rows = 0; float *data = nullptr;GPU只能访问data
指针
我不能将
指针
或对GPUMatrix的引用传递给内核,因为整个对象不是由cudaMallocManaged分配的,只有data元素是。
浏览 5
提问于2017-10-27
得票数 2
回答已采纳
2
回答
记住只能管理共享内存的
原始
对象
、
、
我有一个关于好的
C++
风格的问题:我想写一个" MyClass“类,它有一个或多个
指针
作为成员,并且MyClass能够为这个
指针
分配内存。我想使用隐式的给出默认
复制
构造
函数
(以及默认赋值运算符)来
复制
MyClass的一个实例,以便只
复制
指针
,并且新对象共享初始对象分配的数据。我的想法是禁止
复制
的对象(使用
复制
构造
函数
或赋值操作符创建)释放内存(以及为成员
浏览 5
提问于2015-07-21
得票数 1
3
回答
用向量替换类new[]
变量
-
移动
,
复制
运算符
、
、
、
对于稀疏结构,我使用
指针
,例如int* rowInd = new int[numNonZero]。对于这门课,我写了“
复制
和
移动
赋值操作符”,所有的操作都很好。在网上阅读
移动
和
复制
语义时,我发现了一种压倒性的观点,即在现代
C++
中,我可能不应该使用
原始
指针
。
如果
是这样的话,那么我想修改我的代码,以使用向量进行良好的编码实践。我主要是在
原始
指针
上读取向量。有什么理由不改变为向量吗?
如果<
浏览 4
提问于2015-02-25
得票数 0
回答已采纳
2
回答
有没有办法在Python中使用move而不是copy语义包装
函数
返回值(object)?
、
、
有没有办法包装一个
C++
函数
,它使用
移动
语义返回一个对象(值,而不是
指针
或引用),而不
复制
对象?示例:class A { A( A&& );{ return std::move(A);在
C++
中,我可以通过将A“移出”
浏览 1
提问于2013-09-28
得票数 1
3
回答
为什么需要具有虚拟
函数
的
C++
类才有一个非平凡的副本
构造
函数
?
、
、
根据
C++
标准,具有虚拟
函数
的类不能有简单的副本
构造
函数
: -类X没有虚拟
函数
(10.3),也没有虚拟基类(10.1),并且-对于每个类类型(或其数组)的X的非静态数据成员,为
复制
浏览 0
提问于2017-11-18
得票数 13
回答已采纳
2
回答
为什么我不能在目标-
C++
块中使用boost::function?
、
、
、
、
somewhere f();然而,根据的说法,
如果
您有一个用于基于堆栈的__block对象的
C++
存储类,那么将使用通常的<
浏览 1
提问于2011-03-25
得票数 3
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
对比 C+和Python,谈谈指针与引用
C+11移动构造函数详解
C/C+编程知识分享:C+手把手教你实现可变长的数组
Visual Studio:优化了复制/移动省略
笔记五十:c+的深拷贝
热门
标签
更多标签
云服务器
ICP备案
对象存储
腾讯会议
云直播
活动推荐
运营活动
广告
关闭
领券