【发布时间】:2020-05-16 08:06:52
【问题描述】:
所以我正在使用链表,我想到如果我们可以将对象的值存储到空位置。
另外,如果我们不能将值存储到空位置,为什么会这样?(因为在 c++ 中,当我们将 0 分配给指针时,它会被指向空。)
【问题讨论】:
-
你可以试试。提示:它会导致崩溃。
-
那个内存位置是只读的。
-
@HolyBlackCat 有些小型系统没有内存保护或分页。此外,通过优化编译器,甚至无法保证访问被尝试。它可能会被修剪。
-
这是一个纯理论问题还是您有实际需要这样做?
-
void (*ptr)() = 0; ptr();- 看到已经重置微控制器的代码 - 不会认为它是干净的,而是供应商自己的代码......另一方面,如果我们考虑这样的 µC,写入地址 0 可能在系统运行时有效,但很可能在下次启动或重置时绝对致命!
标签: c++ pointers data-structures linked-list c++14