什么是指针稳定性?

What is pointer stability?

本文关键字:稳定性 指针 什么      更新时间:2023-10-16

这个链接中关于Abseil容器的第二段说:

例如,Abseil 容器通常不保证插入或删除后的指针稳定性。

在这种情况下,指针稳定性意味着什么?

指针稳定性"意味着只要元素存在,指向元素的指针就保持有效(不会失效(,从而允许代码缓存指向元素的指针,即使基础容器发生突变。说容器具有指针稳定性等同于说它不移动内存中的元素;他们的地址不会改变。指针稳定性/失效与引用稳定性/失效相同。

这是您发布的页面中的解释:https://abseil.io/docs/cpp/guides/container(绳降容器(。

指针稳定性意味着指针保证在其指向的对象的生命周期内保持稳定(即指针指向的地址保持不变且不会更改(,除非您执行某些操作来破坏它。

操作系统提供给进程的虚拟内存空间将使内容保持相同的地址。尽管物理内存可能会更改。这是操作系统必须注意的事情之一。

参考:指针稳定吗?