gpt4 book ai didi

c++ - 有没有办法在 C++ 中指定指针指向始终有效的数据?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:20:08 24 4
gpt4 key购买 nike

在作为指针的函数参数 (foo(void *bar)) 中,您可以使用 const 来指定指针(参数)本身是常量 (foo(void * const bar)),和/或指针指向的数据是常量 (foo(void const *bar))。

但是在 foo(void const *bar) 的情况下,这只是向调用者保证 foo 不会尝试修改 bar 指向的数据。它不向 bar 保证 bar 指向的内存位置始终有效。

如果您在可执行镜像中处理常量数据,如果您可以向 foo 提供该保证,并且如果 foo 需要在比函数调用的持续时间更长的时间内保留该数据的引用,则 foo 可以简单地保留一个指针的拷贝,而不必复制数据。

有没有办法在 C++ 类型系统中对这种保证进行编码?

谢谢。

最佳答案

问:有没有办法在 C++ 中指定指针指向的数据始终有效?

A:不。你总是有能力搬起石头砸自己的脚:)

关于c++ - 有没有办法在 C++ 中指定指针指向始终有效的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12253044/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com