腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
3
回答
为什么复制赋值运算符是隐式定义的?
c++
、
c++11
默认
构造
函数、复制
构造
函数和
析
构
函数非常重要,我理解为什么
C++
隐式定义它们。只需考虑应该复制的函数参数、应该销毁的局部变量和应该可
构造
的对象,即使您不知道如何
构造
。但是为什么我们需要
拷贝
赋值操作符隐式定义的?做a = b真的是必须的吗?这不是在改变游戏,对吗?有什么强烈的理由我不知道?
浏览 6
提问于2016-05-11
得票数 1
回答已采纳
4
回答
C++
,
构造
函数限制
c++
、
constructor
我正在学习
C++
,我不明白下面这个黑体字句的意思:
构造
函数和
析
构
函数不能声明为静态、
构造
或易失性。联合不能包含具
浏览 5
提问于2010-04-03
得票数 10
回答已采纳
1
回答
使用指向
c++
中新对象和运算符的指针定义对象
c++
、
object
、
polymorphism
复制
构造
函数如何在这里启动并初始化与对象a相同的值?我认为,要使其工作,我们应该在类中声明一个自定义复制
构造
函数。
浏览 1
提问于2015-04-29
得票数 0
回答已采纳
1
回答
为什么不调用移动
构造
函数和分配来用initialize_list初始化向量
c++
、
templates
、
c++20
、
stdvector
、
initializer-list
我有下面的类,并尝试添加复制和移动
构造
函数和赋值操作符。我的目标是拥有最少的
拷贝
,并尽可能优化。 我预计向量将被填充到位,即在创建向量时不调用复制
构造
函数。我做错了什么,如何强迫它使用移动
构造
函数或赋值?: 1,1用列表
构造
的数据: 2,2复制
构造
的数据,其中: 2,2
析
构
: 2,2
析
构
: 1,1
析
构
: 1,1
析
构
: 2,2**具有元素*
浏览 1
提问于2021-12-29
得票数 0
回答已采纳
1
回答
C++
的树模板类实现
c++
、
classes
、
tree
我没有做任何参数检查,但是我认为这类的肉在那里。让我知道你的想法。#include <vector>class TreeNode { TreeNode<T>* parent; TreeNode(TreeNode<T>* parent,
浏览 0
提问于2014-04-16
得票数 12
回答已采纳
5
回答
C++
是否需要为每个新位置调用
析
构
函数?
c++
我知道放置新的调用通常与对
析
构
函数的显式调用相匹配。我的问题是:如果我不需要
析
构
函数(没有放在那里的代码,也没有具有
析
构
函数的成员变量),我能安全地跳过显式
析
构
函数调用吗?下面是我的用例:我想为case编写
C++
绑定。在C中,许多对象只能通过指针访问。而不是创建包含单个指针的包装器对象(这是浪费的和语义上的混淆)。我想使用placement在C对象的地址上
构造
一个对象。
C++
对象在其
构造</
浏览 3
提问于2011-01-02
得票数 2
回答已采纳
6
回答
多个
构造
函数的
析
构
函数
c++
我在
C++
中有两个
构造
函数和一个
析
构
函数。当我为我的对象使用第一个
构造
函数时,
析
构
函数被调用来删除我想要的A[],但是当我使用第二个
构造
函数时,我不需要调用
析
构
函数,但是
C++
编译器无论如何都会调用它,这会导致错误。
浏览 0
提问于2011-10-12
得票数 0
回答已采纳
2
回答
使用Eclipse插件Papyrus生成
C++
构造
函数和
析
构
函数
c++
、
eclipse
、
constructor
、
destructor
、
papyrus
我们的目标是使用Papyrus的
C++
代码生成器。一个问题是
C++
构造
函数和
析
构
函数的原型不存在。我看到了Java
构造
器原型的存在,
C++
有类似的地方吗?如果没有,我怎么能自己创造一个呢?Tl;DR:如何在Papyrus中创建
C++
构造
函数/
析
构
函数?
浏览 4
提问于2017-02-16
得票数 0
回答已采纳
2
回答
构造
函数和
析
构
函数的调用序列?
c++
、
constructor
、
destructor
C++
标准是否指定了objA和objB
构造
函数的相对顺序?例如,我们是否可以假设当调用objA的
构造
函数时,由objB的
构造
函数引起的任何副作用都是可见的?在C时,将调用objA和objB的
析
构
函数。对这些
析
构
函数是否有类似的测序要求?最后,如果活性分析表明objA在B点之后死亡,那么
C++
编译器是否允许“早期”调用objA的
析
构
函数,即代码中的点B和C之间的
析
构
浏览 4
提问于2013-06-27
得票数 0
回答已采纳
2
回答
我怎么会误解
C++
标准关于“琐碎的可复制”?
c++
、
language-lawyer
当然,我知道这是因为用户在Bar中提供了移动
构造
函数。来自
C++
17标准: (6.1)如果每个复制
构造
函数、移动
构造
函数、复制赋值操作符和移动赋值运算符(class.copy、over.ass)都被删除或删除,(6.3)有一个琐碎的、非删除的
析
构
函数。在我看来,Foo符合以下标准: 6.1:除了复制
构造
浏览 3
提问于2021-05-26
得票数 15
4
回答
复制
构造
函数、
析
构
函数和赋值运算符。什么时候我们不需要它们呢?
c++
、
destructor
、
copy-constructor
、
standards
、
assignment-operator
我知道
C++
的经验法则当你向你的类添加cctor,dtor或op=时,你也需要添加另外两个,以使你的类在任何情况下都能正常工作。EDIT1: 你提到了一些例子,当你不仅不需要它们中的一些,而且你也不想拥有它们,所以你想让它们成为私有的或受保护的。当你通过添加一个带有空体的虚拟
析
构
函数来使一个类成为多态时,我没有全部拥有它们的唯一有效的原因。但是一旦你在
析
构</
浏览 0
提问于2011-03-31
得票数 5
2
回答
在失败的
构造
和销毁之间实现
C++
代码重用
c++
它们在
构造
函数中分配,并根据RAII模式在
析
构
函数中释放。然而,分配不是原子的,如果
构造
函数的后期阶段失败,在向调用方抛出异常之前,有必要释放在早期阶段分配的所有资源。越来越多,这种边缘情况代码开始类似于
析
构
函数本身。我知道
C++
类能够调用它自己的
析
构
函数,而且因为
析
构
函数是用来处理移动操作留下的僵尸状态的实例,所以
析
构
函数在尝试释放它们之前已经检查了资源是否被实
浏览 0
提问于2015-11-16
得票数 0
6
回答
C++
中的
构造
函数和
析
构
函数失败
c++
、
exception
、
constructor
、
destructor
我有一个关于
C++
中失败的
构造
函数和失败的
析
构
函数的问题。我的问题是2)在什么情况下,
析
构
函数会失败?如果没有抛出异常,
析
构
函数会发生什么?编译器是如何处理它的?它被调用的函数的返回值是什么? 谢
浏览 0
提问于2010-02-27
得票数 4
回答已采纳
1
回答
在现代
c++
代码中
析
构
函数有多常见?
object-oriented
、
c++
在标准
c++
库中,所有容器和所有输入/输出流都有自己的
构造
函数和
析
构
函数,它们处理所有相关的资源获取和发布。因此,对于大多数需要
析
构
函数(例如内存和文件管理)的任务,现代开发人员不必定义
析
构
函数。应该显式定义
析
构
函数的一种情况是处理数据库连接。但是这是非常罕见的--它最多只能由应用程序中的单个类来处理。 我的问题是:
C++
程序员现在需要为自己的类实际编写
析
构</
浏览 0
提问于2019-02-15
得票数 5
1
回答
检查
C++
编译器隐式生成的代码
c++
、
c++11
、
compiler-construction
要检查
C++
编译器隐式生成哪些代码(例如,所有默认
构造
函数/
析
构
函数)?g++ -S -g -O0 <file.cpp> 不会给我任何带有生成的
构造
函数/
析
构
函数的标签。
浏览 2
提问于2014-07-21
得票数 7
回答已采纳
2
回答
关于
C++
构造
函数中的异常的混淆
c++
、
exception
关于在
C++
的
构造
函数中抛出的异常,我发现了一些看起来相互矛盾的答案。中的一个答案是,如果在
构造
函数内抛出异常,则假定
构造
未完成,因此不调用
析
构
函数。但讨论了RAII的概念,使用在
构造
函数中创建并在
析
构
函数中清除的互斥锁的示例。它说明,如果在
构造
函数中创建了互斥锁,然后
构造
函数调用了抛出异常的函数,并且没有定义异常处理程序,那么
析
构
函数仍将被调用,互斥锁将被清除。
浏览 0
提问于2019-05-07
得票数 1
4
回答
浅的和深的破坏者?
c
、
memory-management
、
dynamic-memory-allocation
、
allocation
假设一个列表"a",并且有一个执行深度复制的列表的复制
构造
函数。如果"b“是深复制自"a”的列表,则可以使用简单的
析
构
函数销毁两者。这个破坏者应该使用深度毁灭。,并为列表添加另一个浅
拷贝
构造
函数。REQUIRE_RETURNED_VALUE_CAPTURE; void list_destructor(struct list * input);
析<
浏览 2
提问于2019-07-24
得票数 2
1
回答
C++
中一类隐式成员函数
c++
C++
中类的隐式成员函数是: As per:复制
构造
函数如果没有移动
构造
函数或移动赋值操作符显式地declared.If,则声明
析
构
函数生成副本
构造
函数。如果没有显式声明复制
构造
函数、移动赋值运算符或
析
构
函数,则移动
构造
函数。 复制赋值运算符如果没有移动
构造
函数或移动赋值运算符显式declared.If,则声明生成一
浏览 2
提问于2013-02-14
得票数 6
回答已采纳
3
回答
默认
构造
函数和
析
构
函数是否内联?
c++
、
c
、
inline
、
binary-compatibility
、
abi
我很好奇编译器生成的默认
构造
函数和
析
构
函数是否是内联的,因为无论哪种方式,我都可以证明它是正确的。一方面,您希望默认的
构造
函数/
析
构
函数不内联,以便以后添加它们不会破坏ABI (因为在只有默认值时编译的对象文件将内联生成的定义,而不是定义的定义)。另一方面,对于
C++
编译器来说,要编译执行与用C编译器编译的C代码一样的C代码,它不能为每个分配的结构添加
构造
函数/
析
构
函数调用,而且在
C++<
浏览 1
提问于2011-06-08
得票数 10
回答已采纳
3
回答
为什么一个类或结构必须没有用户定义的
构造
函数或
析
构
函数来确保
C++
中常量的ROMability?
c++
、
constants
我在阅读一篇关于
C++
的参考资料时发现,为了确保定义为const的对象的ROMability:2.不能存在具有用户定义的
构造
函数或
析
构
函数的基类或成员对象。在我看来,第一个是成立的,因为
构造
函数或
析
构
函数修改了const数据成员。因此,我们避免使用用户定义的
构造
函数或
析
构
函数。 但是我不能很好地解释第二点。
浏览 0
提问于2013-02-28
得票数 2
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
比较 上下文管理器及构造/析构函数
PHP就业快学课堂10,构造方法与析构方法
笔记五十:c+的深拷贝
笔记四十九:C+中的浅拷贝
一文详解C+编程中重要的类的重要函数成员及其重点难点解析
热门
标签
更多标签
云服务器
即时通信 IM
ICP备案
对象存储
实时音视频
活动推荐
运营活动
广告
关闭
领券