问题标签 [destruction]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
111 浏览

c++ - 矢量如何在减小其大小后不破坏元素两次?

出于测试目的,我试图创建自己的矢量类,但我无法弄清楚std::vector大小缩减是如何工作的。

输出是

vec.resize(2)被调用时,第三个元素被销毁,但向量的容量仍然是3。那么当vec被销毁时,它的所有元素包括已经被销毁的元素都应该被销毁。怎么std::vector知道他已经破坏了那个元素?如何在我的向量类中实现它?

0 投票
0 回答
231 浏览

c++ - 有没有办法判断 C++ 应用程序是否正在退出?

我有一些代码在 c++ 析构函数中,但是如果由于应用程序退出而不是常规破坏而被破坏,我希望它做一些与正常不同的事情。

有没有办法做到这一点?

更多信息:我有一个记录器对象,如果已经被破坏将无法记录,但在另一个对象的析构函数中,它会进行记录调用。我想如果在破坏中,我可以跳过日志调用或在需要时重新打开记录器。这个问题是基于无法控制破坏顺序的。如果记录器最后被破坏,我就不会有这个问题。

更多信息 2:这个应用程序实际上不是一个应用程序,而是一个加载到另一个应用程序中的 dll。尽管最佳解决方案适用于 exes 和 dll。

0 投票
1 回答
152 浏览

javascript - 如何再次合并被破坏的对象键?

正如你所看到的,我必须破坏我需要对它们求和并得到他们有多少收入的吸气剂。

这是一个示例代码,这是 Vuex 商店中的一个 getter,但这并不重要,它与 javascript 相关,而不是 vue 本身。

这看起来一点也不优雅,但我突然找不到更好的方法(如果我可以将被破坏的对象存储在变量中,那么我可以使用 Object.values 并减少它,但我没有'不知道这样的)

谢谢你的帮助 ;)

0 投票
1 回答
137 浏览

c++ - thread_local 静态类在程序退出时在无效地址处被销毁

我在销毁 thread_local 静态对象时遇到问题。

正如预期的那样,在https://coliru.stacked-crooked.com/a/e8bcfdaffa6a6da7上编译和运行显示 thread_local 对象始终位于同一位置,计数器值为 (0,1,1):

相反,当我在本地使用 MinGW 编译并运行时,我会得到,例如,

显然,在不同内存位置的未初始化对象被销毁。

我是否监督了任何不确定的事情?如何确保销毁正确的对象?

0 投票
2 回答
1390 浏览

python - `__del__` 和 `__delete__` 有什么区别?

假设有人不知道__del__和之间有什么区别__delete__?写一个解释。

0 投票
1 回答
164 浏览

android-activity - How to avoid OnCreate method execution when activity has been opened previously (Xamarin.Android)?

I have two activities FirstActivity and SecondActivity. When I am in FirstActivty I call the SecondActivity like that:

In SecondActivity I call the FirstActivity in OnBackPressed method:

I looked at answers regarding that question for Android(Java). The answers were that in order to avoid OnCreate method to be executed in FirstActivity when the activity has been already created, I don't have to destroy FirstActivity after I open SecondActivity, I have to remove Finish() after StartActivity(secondActivity); line. I removed it but OnCreate method still gets executed when I go back from SecondActivity. Does this solution work only in Android(Java) ,and if yes, what is the solution for Xamarin.Android ?

0 投票
1 回答
46 浏览

c++ - C++ 删除/(递归)对象破坏问题

我无法理解为什么以下代码总是抛出此异常:

AddressSanitizer:尝试双重释放

我想我没有得到新/删除过程的某些部分,但就是想不通。

感谢您提前提供任何帮助......或者女孩;P

0 投票
1 回答
54 浏览

c# - Xna 可破坏的墙壁

所以我正在制作一个太空入侵者克隆,我被困在墙上。我需要制作可破坏的墙,我不知道该怎么做。因此,如果有人有任何想法,那么从那里的人那里获得一些帮助会很有帮助。

0 投票
0 回答
168 浏览

c++ - 全局变量析构函数和gcc属性的执行顺序__((destructor))

这是一个 GCC 特定问题。我在 .so 库中遇到了一个奇怪的问题。这个 .so 库的演示代码可以是:

我知道global_object即使没有entry_destructor. 但我只想给你举个例子。对于调试构建,entry_destructor运行良好。但是对于发布构建,它崩溃了。

我设置了断点并调试了这个问题。在调试构建中,entry_destructor首先执行,然后运行std::unique_ptr::destructor。但是在发布版本中,std::unique_ptr::destructorentry_destructor.

首先点击这里:

然后点击这里:

我标记global_object__attribute__((init_priority(101)))因为只有这样才能在之前初始化entry_construtor,否则entry_contructor访问时会崩溃global_object

我也尝试标记global_objectstatic,但它也没有帮助。

我希望所有全局变量都应该在之后被破坏entry_destructor,无论是调试版本还是发布版本。我能找到的所有文档和讨论都是关于 construt 和 destruct 顺序或全局变量,而不是全局变量 destruct 和__attribute__((destructor)). 有任何 GCC 规则吗?或者它是一个未定义的行为?

0 投票
2 回答
95 浏览

python - 线程中运行的异步代码的正确销毁过程

下面是通用 websocket 流媒体的(工作)代码。

它创建一个守护线程,从中执行asyncio.run(...).

asyncio 代码生成 2 个任务,这些任务永远不会完成。

如何正确销毁该对象?

其中一项任务是执行保活“ping”,因此我可以使用标志轻松退出该循环。但另一个是阻止来自 websocket 的消息。