gpt4 book ai didi

c++ - 如何在 string_view 中推断出悬空指针?

转载 作者:行者123 更新时间:2023-12-03 07:06:58 27 4
gpt4 key购买 nike

This reference指出第二个示例产生了一个悬空指针。如何在第二个表达式中创建悬挂指针而不是在第一个表达式中?

std::string_view good("a string literal");   // OK: "good" points to a static array
std::string_view bad("a temporary string"s); // "bad" holds a dangling pointer

还有,字符串后面的字符s是什么?

最佳答案

s 有一个user-defined literal operator产生一个 std::string

这两行之间的区别在于,good 是一个指向字符串文字的 string_view,并且字符串文字具有静态生命周期(它们持续整个问题). bad 是一个指向临时 stringstring_view,并且临时拥有它的数据 - 所以当临时被销毁时(最后行的)它带走它的数据,我们最终得到 bad 指向被破坏的内存。

关于c++ - 如何在 string_view 中推断出悬空指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61108221/

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