问题标签 [dangling-pointer]

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 投票
4 回答
100 浏览

c++ - 当 std::vector 增长时,其中元素的地址不再有效?

假设我有以下内容:

我声明如下:

我现在有一个函数可以执行以下操作:

Foo然后调用者将它通过引用获得的地址传递Foo*给其他人。但是,我想知道的是,Foo在触发向量增长后,这个指向的指针是否仍然有效vec?如果复制其中的现有Foo元素,vec那么大概Foo*漂浮的元素现在将悬空?是不是这样?我正在调试应用程序,但无法重现。

0 投票
6 回答
564 浏览

c++ - 为什么我没有得到一个悬空指针?

为什么我是以下代码的输出10而不是错误?不是object2悬空指针吗?

谢谢!

0 投票
1 回答
210 浏览

c++ - 访问已删除的内存块时如何避免错误?

如果标题不清楚,我有这个例子:

现在a是 NULL 但b不是。如果我访问b,它将返回错误的值并可能使程序崩溃。

如何防止这种情况?

0 投票
3 回答
1111 浏览

c - c:调试模糊内存泄漏的策略?

我正在用 c 开发一个项目,我试图了解如何调试一个使我的程序崩溃的晦涩错误。它有点大,通过制作较小版本的代码来隔离问题的尝试不起作用。所以我试图想出一种方法来调试和查明内存泄漏。

我想出了以下计划:我知道问题来自于运行某个函数,并且该函数递归调用自身。所以我想我可以对我的程序内存分配进行快照。因为我不知道杰克在幕后发生了什么(我知道一点不足以在这种情况下有用):

我的想法是在我的程序崩溃之前打印出我保存的内存记录的内容(由于 GDB,我知道它在哪里崩溃)。

然后在整个程序中(对于我的程序中的每个数据结构,我都有一个类似的推送功能,如上)我可以简单地添加一个带有统计数据结构分配加上总堆栈(堆?)内存分配的函数(我可以跟踪的)。只要我觉得需要记录我的程序运行的快照,我就会简单地制作更多的 memory_record 结构。问题是,如果我无法以某种方式记录实际使用了多少内存,则此内存资产负债表记录将无济于事。

但是我该怎么做呢?另外,我将如何考虑悬空指针和泄漏?我正在使用 OS X,目前正在查找如何记录堆栈指针和其他内容。

编辑:既然你问:valgrind的输出:(closure()是从main调用的函数,它返回错误的指针:它应该返回双向链表的头部,traversehashmap()是从closure()调用的函数我用来计算额外的节点并将其附加到链表中,并且它递归地调用自身,因为它需要在节点之间跳转。)

0 投票
3 回答
888 浏览

c++ - 在 std::unique_ptr 超出范围后仍可访问对象。不同的运行时行为

下面的代码将modify_entry一个指向类型对象的指针传递给函数,Entry并且在函数体内 aunique_ptr采用原始指针。但是,指针指向的对象似乎在函数返回后仍然存在。

当我编译这段代码

clang 3.4 版 (tags/RELEASE_34/final)

目标:x86_64-apple-darwin13.1.0

线程模型:posix

它运行没有错误,输出是

约翰的构造函数

在 modify_entry() 内部

John Doe 的析构函数

从 modify_entry() 返回

约翰·多伊

但是,在这里,由于第 25 行,我收到了运行时错误。

Q:为什么运行clang生成的可执行文件没有运行时错误?

如果有人能澄清情况,我将不胜感激。请注意,我并没有尝试正确转让所有权。这个人为设计的错误代码示例是调试过程的副产品。make_unique并为等移动语义unique_ptr很棒,但这不是我要问的。

提前致谢。

0 投票
7 回答
77930 浏览

swift - 弱引用和无主引用有什么区别?

斯威夫特有:

  • 强引用
  • 弱引用
  • 无主引用

无主引用与弱引用有何不同?

什么时候使用无主引用是安全的?

无主引用是否存在安全风险,例如C/C++ 中的悬空指针?

0 投票
3 回答
716 浏览

c++ - unique_ptr悬空指针

C++ 代码:

这段代码后面是var悬空指针吗?

0 投票
3 回答
3228 浏览

c++ - 删除 C++ 中的悬空指针

在此代码之后 _var2 是Dangling pointer.

我必须删除 _var2 ( delete _var2) 吗?这是不可避免的吗?

0 投票
2 回答
75 浏览

c - 为什么悬空指针不能存储任何值,为什么它会抛出 0?

为什么悬空指针不能存储任何值,为什么它会抛出 0?因为它指向被释放的相同内存。如果我们尝试存储一些值,为什么为 0?

0 投票
2 回答
1176 浏览

c++ - 这个异步技巧会起作用还是当我访问它时状态会悬空?

我面临一种情况,std::async完全异步启动操作会很好。

问题是如果我不保存未来,该功能将在最后阻塞。我希望这不会发生。

这将阻止在std::future函数作用域的末尾调用其析构函数:

这可能行得通吗?当我不将结果保存在变量中时会发生什么?