gpt4 book ai didi

c++ - 这可能吗?(C++)

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

将指针写入字符串,删除指针,并从字符串加载指针?

最佳答案

可以执行这些操作,但它们不会产生您(可能)想要的效果。

将指针写入字符串只会存储指针值,即指向对象的地址。这是一个或多或少恒定长度的字符串,如 0x7f2b93c91780(在 64 位系统上)。当然,这不会捕获实际对象的任何状态。

当你对指针使用delete时,指向的内存将归还给系统;它不再是你的使用。指针本身并没有被删除,操作只影响所指向的内存。此外,当您在指针上使用 delete 时,指针的值实际上并没有改变。因此,如果您现在通过从存储在其他地方的字符串读取它来重新加载它没有区别:它仍然指向您不再拥有的内存,因此如果不调用 undefined behavior 就无法读取或写入。 .

正如 PiotrLegnica 建议的那样,您需要将整个对象序列化为一个字符串,然后从序列化版本重新创建对象(反序列化)。

关于c++ - 这可能吗?(C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1516409/

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