腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
3
回答
使用
智能指针的三个规则?
我对
使用
带有智能指针的“三个规则”有点困惑。如果我有一个类,其唯一的数据成员是智能指针,我是否
需要
显式定义
析
构
函数
、
复制
构造
函数
和
赋值
运算符
?我的理解是,由于智能指针将自动处理资源,因此我不
需要
显式定义
析
构
函数
,因此基于三的规则,我不
需要
为其他两个定义
析
构
函数
。但是,我不确定
浏览 0
提问于2011-10-01
得票数 7
回答已采纳
1
回答
C++中一类隐式成员
函数
C++中类的隐式成员
函数
是: As per:
复制
构造
函数
如果没有移动
构造
函数
或移动
赋值
操作符显式地declared.If,则声明
析
构
函数
生成副本
构造
函数
。如果没有显式声明
复制
构造
函数
、移动
赋值
浏览 2
提问于2013-02-14
得票数 6
回答已采纳
2
回答
如何删除字符串对象,它是C++联合的成员变量?
、
、
、
、
当我在联合中读取
构造
函数
和
析
构
函数
时
,我遇到了一个堆栈溢出问题。这两个是矛盾的。我可以知道我们如何删除字符串,即使我们
需要
吗?我们还
浏览 0
提问于2018-07-31
得票数 2
回答已采纳
1
回答
shared_ptr
成员和副本
构造
函数
、
、
不幸的是,我有点混淆了它的
实现
。我想
使用
std::
shared_ptr
来存储数据,我想知道下面的代码是否遗漏了什么。void){} 查看其他人的代码,我注意到他们添加了copy/move
构造
函数
/操作符(
使用
std::move等)和一个空
析
构
函数
。其中一条注释提到,MyClass<
浏览 2
提问于2014-09-08
得票数 0
3
回答
在C++代码中检测双重释放
EDIT:感谢您的评论,但这正是我
使用
的代码。您是否认为问题出在foo& Foo()
函数
中,因为它返回m_foo对象的引用,然后当代码跳到if条件括号
时
,该m_foo将被删除?
浏览 3
提问于2010-09-07
得票数 0
回答已采纳
2
回答
基类的
析
构
函数
是否阻止在子类中创建移动
构造
函数
?
、
、
根据的说法,这强调了我的 如果没有用户声明的
复制
构造
函数
、
复制
赋值
操作符或
析
构
函数
,并且生成的移动
赋值
运算符
是有效的(例如,如果它不
需要
分配常量成员),则移动
赋值
操作符是自动生成的(§12.8/21)继承的
析
构
函数
算不算?我是说,假设我有一个基类,里面有一个空的虚拟
析
构
函数
浏览 11
提问于2022-05-04
得票数 1
4
回答
在C++11中禁用
复制
类的最简洁方法
、
、
当存在用户定义的
析
构
函数
时
,由于C++11默认生成
复制
构造
函数
和
复制
赋值
操作符,我在处理弃用
函数
时
遇到了问题。 使普通
析</em
浏览 5
提问于2014-05-17
得票数 19
回答已采纳
2
回答
默认移动
构造
函数
与默认
复制
构造
函数
与默认
赋值
运算符
、
为什么C++编译器对自动生成的移动
构造
函数
比自动生成的
复制
构造
函数
或
赋值
操作符有更多的限制? 仅当用户未定义任何内容(即
构造
函数
、
复制
、
赋值
、
析
构
函数
)
时
,才生成自动生成的移动
构造
函数
。仅当用户未定义
复制
构造
函数
或
赋值
运算符</em
浏览 1
提问于2013-03-26
得票数 32
回答已采纳
2
回答
使用
共享指针释放类中的资源
、
SuperHugeClass* s; A(){ s = new SuperHugeClass(); }因为SuperHugeClass占用大量内存,所以我可以接受默认
构造
函数
和
赋值
操作符提供的浅层
复制
然而,我也不想泄漏内存,所以我
需要
delete s,但我必须小心它,否则我会多次删除它。a.s, aa.s); swap(*this, other); } };
浏览 1
提问于2012-07-27
得票数 3
回答已采纳
4
回答
隐式声明特殊成员
函数
默认
构造
函数
如果其中任何一个是由用户定义的,例如:
析
构
函数
,则三个
函数
的其余部分将不会被声明。是这样吗?还是只适用于默认
构造
函数
,并
复制
构造
函数
?
浏览 0
提问于2012-07-26
得票数 4
回答已采纳
2
回答
在什么情况下我应该创建自己的
析
构
函数
?
、
、
、
、
当我创建一个对象
时
,我的编译器会自动创建一个
构造
函数
、
析
构
函数
和一个
赋值
操作符。我应该在什么时候自己
实现
它们?
浏览 12
提问于2021-05-04
得票数 0
3
回答
c++接口必须遵守五规则吗?
、
、
、
、
定义接口类
时
,声明实例化方法的正确方式是什么? 由于显而易见的原因,抽象基类
需要
有一个虚拟
析
构
函数
。但是,随后会给出以下编译警告:"'InterfaceClass‘定义了一个非默认
析
构
函数
,但没有定义一个
复制
构造
函数
、一个
复制
赋值
运算符
、一个移动
构造
函数
或一个移动
赋值
<em
浏览 11
提问于2018-04-22
得票数 18
1
回答
在向量中存储对象(指向另一个对象的指针)的C++
、
、
MyClass有指向InnerClass的指针和MyClass的内部
析
构
函数
,我想为以前分配的InnerClass对象释放内存。
浏览 3
提问于2013-05-27
得票数 0
回答已采纳
1
回答
如何
使用
智能指针编写类?
、
、
、
假设我有一个类: std::
shared_ptr
<Graph> _graph; State():_graph(new Graph){}关于,显然不
需要
在
析
构
函数
中释放问题是,我是否
需要
为它编写
复制
构造
函数
和
赋值
运算符
?State s1;第二行会发生什么? 看起来它将是s2._gr
浏览 2
提问于2014-04-17
得票数 0
1
回答
使用
shared_ptr
时
需要
实现
析
构
函数
、
复制
构造
函数
、
赋值
运算符
、
、
、
、
在其中,我有一个保存std::string数据的
shared_ptr
。default; str_ = std::make_shared<string>(str); private:}; 我的问题是:在这里我应该
实现
析
构
函数
来释放str_,
复制
构造
函数
和<e
浏览 3
提问于2017-02-07
得票数 0
回答已采纳
5
回答
第5条规则(用于
构造
函数
和
析
构
函数
)是否过时?
、
、
、
5的规则规定,如果一个类有一个用户声明的
析
构
函数
、
复制
构造
函数
、
复制
赋值
构造
函数
、移动
构造
函数
或移动
赋值
构造
函数
,那么它必须有其他4。但是今天我明白了:您什么时候
需要
用户定义的
析
构
函数
、
复制
构造
函数
、<e
浏览 6
提问于2020-12-26
得票数 40
回答已采纳
2
回答
Pimpl不工作
、
这是一个非常低级的错误,但我不知道这里发生了什么。我有一个非常简单的Pimpl例子,但它不能工作。#include <boost/scoped_ptr.hpp> { //boost::scoped_ptr<Bar> pImpl; Foo();和 // Foo
浏览 3
提问于2010-10-21
得票数 2
回答已采纳
1
回答
复制
构造
函数
、
赋值
操作符和
析
构
函数
代码
复制
我理解对深度拷贝的需求,并且为了确保我的代码按照
需要
运行,我正在为我的类编写一个副本ctor、
赋值
操作符和dtor。但是,在我看来,在每种情况下,
赋值
操作符都必须首先执行
析
构
函数
所做的操作(释放任何动态分配的内存,以防止内存泄漏),然后执行
复制
构造
函数
的操作(对所有动态分配的数据进行深度
复制
,并将这些数据
复制
到正在构建的实例中是否存在
赋值
运算符
应该在概念上做以下以
浏览 0
提问于2014-11-07
得票数 1
回答已采纳
1
回答
使用
指向c++中新对象和
运算符
的指针定义对象
、
、
复制
构造
函数
如何在这里启动并初始化与对象a相同的值?我认为,要使其工作,我们应该在类中声明一个自定义
复制
构造
函数
。
浏览 1
提问于2015-04-29
得票数 0
回答已采纳
4
回答
无法锁定valgrind检测到的内存泄漏
、
下面是我的程序中的new/delete操作符的模式。Valgrind说,记忆“肯定是丢失了”。我不太清楚泄漏在哪里。我的new/delete操作符的用法有问题吗? { Generic () gInterface = NULL; ~Generic ()
浏览 2
提问于2011-01-29
得票数 1
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
C/C+编程知识分享:C+手把手教你实现可变长的数组
一文详解C+编程中重要的类的重要函数成员及其重点难点解析
Q_DISABLE_COPY宏
C语言编程经验
系统学习PHP之面向对象(上)
热门
标签
更多标签
云服务器
ICP备案
腾讯会议
云直播
对象存储
活动推荐
运营活动
广告
关闭
领券