腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
Python
C++中
析
构
函数之间
的
区别
python
、
c++
、
destructor
C++
析
构
函数和
Python
析
构
函数
的
契约有何不同,特别是在对象生命周期和资源回收时?我还没有找到一个全面的并排比较。 我认为C++
析
构
函数所做
的
是完全释放对象所持有的内存。
Python
取消对象,但它仍然保留在缓存内存中(称为垃圾收集),然后在程序完成后完全释放内存。
浏览 9
提问于2022-05-02
得票数 -1
回答已采纳
1
回答
C++
析
构
函数调用boost::
Python
包装对象
python
、
c++
、
boost-python
在调用包装对象
的
C++
析
构
函数时,考虑到达到对应
python
对象
的
零引用计数
的
时刻,
python
提供了任何保证吗? 我担心
的
是一个C++对象,它打开一个用于写入
的
文件,并在其
析
构
函数中执行文件关闭。当所有对对象
的
python
引用都被删除或超出作用域时,是否保证了文件被写入?我
的
经验表明,在这一点上总是调用
析
构
函
浏览 5
提问于2016-07-06
得票数 2
回答已采纳
1
回答
Python
类
析
构
函数是否保证在程序结束前执行?
python
我们可以强制使用del执行
析
构
函数,通常只是让垃圾收集器完成它
的
工作,但是如果我们在
Python
中定义类
析
构
函数,它是否保证对实例化
的
每个对象执行?
浏览 4
提问于2020-08-07
得票数 4
回答已采纳
1
回答
非多态和非抽象基类中
的
虚拟
析
构
函数
python
、
c++
、
destructor
我正在编写一个c++类,它将与
python
进行接口。body_datamap <int, atom*> atoms;map <int, dihedral*> dihedrals;这个类是另一个类
的
基类我没有为这个类添加
析
构
函数,因为我很困惑。在我所读到
的
关于基类
析
构
函数
的
所有文章中,它们都建议
析
构
函数应该是公共
浏览 7
提问于2014-01-31
得票数 1
回答已采纳
1
回答
F2py编译
的
Fortran模块中
的
垃圾收集
python
、
fortran
、
f2py
背景 我目前正在编写一个有限元程序,主要是用
Python
编写
的
(为了方便),它使用Fortran子程序
的
几个模块来执行一些无法避免
的
任务(即装配/更新切线刚度矩阵)。这是使用f2py ()成功编译
的
,生成
的
.dll文件在
python
脚本中作为
python
模块导入。然后,
Python
可以成功地调用函数/子程序。Fortran模块
的
结构如下所示,不同
的
子程序使用模块中定义
的<
浏览 3
提问于2019-11-04
得票数 0
回答已采纳
1
回答
__init__中
的
成员分配和引用计数
python
、
python-c-api
我正在为
Python
编写一个C扩展,通过,我很难理解__init__函数中
的
成员分配。: 我们
的
类型不限制第一个成员
的
类型,所以它可以是任何类型
的
对象。它可能有一个
析
构
函数,该
析
构
函数导致代码被执行,试图访问第一个成员;或者,该
析
构
函数可以释放全局解释器锁,并允许任意代码在访问和修改我们
的
对象
的
其他线程中运行。我理解在这样
的
情况下,如果
浏览 2
提问于2019-09-03
得票数 2
回答已采纳
2
回答
析
构
与巨蟒
c++
、
python
、
boost
、
virtual-destructor
我使用boost::
python
将其导出到
python
中。但是虚拟破坏者呢?任何基类都应该有虚拟
析
构
函数,以避免错误
的
内存释放,对吗?我忘记了这一点,写了Base而没有
析
构
函数。一切正常,但有大量
的
内存泄漏。现在我补充说:{ virtual ~Base();}; 在
python
中导入我
的
浏览 0
提问于2011-04-11
得票数 1
回答已采纳
2
回答
如何确保在
Python
类上按通常(但不正确)所期望
的
那样调用__del__函数?
python
、
python-3.x
、
python-2.7
我理解
Python
类
的
__del__函数:作为
析
构
函数。 我也明白,有更多
的
‘琵琶’和可以说更优雅
的
方式来整理,特别是使用。然而,当编写可能被不太精通pythonic方式
的
用户使用
的
代码时,当清理非常重要时,是否有一种优雅
的
方法可以让__del__可靠地作为
析
构
函数工作,而不影响
python
对__del__
的
自然使用?对于__del__作为
析
<e
浏览 2
提问于2018-07-25
得票数 4
回答已采纳
1
回答
为什么虚拟类
的
析
构
函数不自动添加到vtable中?
c++
、
polymorphism
、
virtual
、
destructor
、
vtable
当虚拟类B派生自虚拟基类A时,除非在A和B中显式声明虚拟
析
构
函数,否则vtable中B
的
析
构
函数将指向A
的
析
构
函数。为什么?为什么B
的
vtable
析
构
函数不自动指向B
的
析
构
函数而不必定义A和B虚拟
析
构
函数?编辑:意识到如果没有使A
的
析
构
函数是虚拟
的<
浏览 0
提问于2018-04-14
得票数 1
回答已采纳
3
回答
C++销毁顺序:在类
析
构
函数之前调用字段
析
构
函数
c++
、
destructor
、
object-destruction
有方法在类
析
构
函数之前调用字段
析
构
函数吗?:Small destructor 我需要在Small
析
构
函数之前调用Big
析
构
函数,因为它为Big
析
构
函数做了一些必要
的
清理。~Small()
析
构
函数。但是,->这会调用Small
析
构
函数两次:一次显式调用,一次在执行Big
析
<e
浏览 5
提问于2017-07-26
得票数 6
回答已采纳
16
回答
如果不应该在
析
构
函数中抛出异常,如何处理其中
的
错误?
c++
、
exception
、
destructor
、
raii
大多数人说,永远不要从
析
构
函数中抛出异常,这样做会导致未定义
的
行为。Stroustrup指出,“向量
析
构
函数显式地为每个元素调用
析
构
函数。这意味着如果一个元素
析
构
函数抛出,向量销毁就会失败……实际上没有什么好
的
方法来防止从
析
构
函数引发
的
异常,因此库无法保证元素
析
构
函数抛出时是否会抛出”(参见附录E3.2)。似乎不是这样说
浏览 41
提问于2008-09-24
得票数 298
回答已采纳
6
回答
何时不使用虚拟
析
构
函数?
c++
、
virtual-functions
我相信我曾多次搜索过虚拟
析
构
函数,大多数都提到了虚拟
析
构
函数
的
用途,以及为什么需要虚拟
析
构
函数。而且,我认为在大多数情况下,
析
构
函数需要是虚拟
的
。那么问题是:为什么c++在默认情况下不设置所有
析
构
函数?或在其他问题上:在这种情况下,我不应该使用虚拟
析
构
函数?如果我不需要使用
浏览 0
提问于2015-05-21
得票数 64
1
回答
虽然我已经提供了移动构造函数,但还是调用了复制构造函数。
c++
、
visual-c++
、
copy-constructor
、
move-constructor
构造函数: 20构造函数: 10释放数据
的
析
构
函数为: 10构造函数: 30构造函数: 40释放nullptr数据
的
析
构
函数移动构造函数-Moving资源: 50 构造函数:
浏览 11
提问于2022-05-12
得票数 0
回答已采纳
1
回答
析
构
函数是否根据标准有名称?
c++
“标准”没有明确规定
析
构
函数有或没有名称,但是有许多关于如何使用特殊语言引用和声明
析
构
函数
的
引用,其中没有一个直接引用
析
构
函数
的
名称。5.2.4.1: 在点之后使用伪
析
构
函数名。或箭头->运算符表示按类型名称命名
的
非类类型
的
析
构
函数.结果只能用作函数调用操作符()
的
操作数,并且这种调用
的
结果类型为sha
浏览 2
提问于2010-04-22
得票数 5
回答已采纳
1
回答
Lua中
的
构造函数和
析
构
函数?
constructor
、
lua
、
programming-languages
、
destructor
我是Lua
的
新手,通过将它们与
Python
和Java等其他编程语言进行比较来学习其中
的
一些概念。我知道Java和
python
都有构造函数和
析
构
函数。但我没有找到一个是用纯Lua编写
的
。我见过一些使用C/C++和Lua作为构造函数
的
例子,但是有没有办法只用Lua语言来构造构造函数和
析
构
函数呢?
浏览 189
提问于2020-10-26
得票数 1
回答已采纳
2
回答
C++是否可以使
析
构
函数不调用类成员
的
析
构
函数和基类
的
析
构
函数?
c++
是否有一种方法可以使类
的
析
构
函数不调用某个类成员
的
析
构
函数和/或不调用其基类
的
析
构
函数? 如果这是不可能
的
,是否手动创建具有新位置和
析
构
(/不-
析
构
)
的
类成员是可能
的
解决办法?谢谢!编辑:我需要这样做
的
原因:C类拥有对象M有一个非平凡
的
析
浏览 0
提问于2017-05-30
得票数 0
回答已采纳
3
回答
基类没有
析
构
函数,但派生类有。我是否需要寻找与堆无关
的
陷阱?
c++
、
inheritance
、
destructor
在继承方面,我知道建议您
的
类
的
析
构
函数是虚拟
的
,因此除了任何派生
析
构
函数之外,基类
的
析
构
函数都会被正确调用。但是,我想知道在下面的场景中是否存在与派生对象相关
的
堆栈相关问题。让我们假设我们有一个基类,它没有
析
构
函数(不管出于什么原因):以及具有
析
构
函数
的
派生类: class Der
浏览 6
提问于2016-05-22
得票数 2
回答已采纳
1
回答
Python
静态变量释放
python
、
memory-management
、
static
下面的
python
静态类变量什么时候被垃圾回收?我期望看到来自静态变量foo
析
构
函数
的
消息。print "Bar init running" print "Destructor Bar" 输出为(
Python
2.7):Bar init running我期待
的
是: Foo init ru
浏览 4
提问于2015-10-09
得票数 6
1
回答
试图理解multimap为什么像它那样构造/下降
c++
、
constructor
、
destructor
、
multimap
我想要理解
的
是为什么它在当时被分配。我已经用一个字符串和一个对象构造了一个multimap,在这个对象
的
构造函数&
析
构
函数中,当调用它们时,我有一个打印输出。谢谢你帮助我理解这个在multimap
的
建筑/破坏。
析
构
函数称为TestObje
浏览 3
提问于2012-02-13
得票数 1
回答已采纳
1
回答
pybind11:带有静态py::object
的
进程退出
的
分段故障
python
、
c++
、
memory-management
、
destructor
、
pybind11
我使用pybind11在C++中创建一个模块,然后将它导入到
Python
程序中。这是通过CPython中
的
普通脚本运行
的
,而不是嵌入式解释器。在我
的
模块中,我有一个定义静态py::object
的
函数: static const py::object my_object = ...这在运行时很好因此,当object
析
构
函数试图减少引用计数时,我们似乎要崩溃了。我相信,在
Python
解释器关闭(LI
浏览 20
提问于2022-01-15
得票数 0
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
虚析构与纯虚析构(C+)
当对象释放时,避免析构函数调用两次
比较 上下文管理器及构造/析构函数
PHP就业快学课堂10,构造方法与析构方法
Python解包简析
热门
标签
更多标签
云服务器
即时通信 IM
ICP备案
对象存储
实时音视频
活动推荐
运营活动
广告
关闭
领券