Lua:C++类型实例与垃圾回收器

我在使用 Lua 时遇到了垃圾回收的问题。问题如下:

  1. 我定义了一个 C++ 类型的实例。
  2. 这个实例含有一个基于 int 的指向 Lua 表的引用。
  3. 在这个表中,我有另一个 C++ 类型的实例。
  4. 垃圾回收器试图删除第二个实例。

第一个类型的实例无法被垃圾回收器回收,因此它们始终存在。表是其中之一的实例,因此它也始终存在。为什么垃圾回收器认为它的内容不应该存在?

我尝试创建一个包含第一个实例的表,但没有效果。我该怎么做才能让垃圾回收器正常工作?

原文链接 https://stackoverflow.com/questions/69096144

点赞