gpt4 book ai didi

悬挂字符串的 C++ 生命周期

转载 作者:太空狗 更新时间:2023-10-29 21:09:58 31 4
gpt4 key购买 nike

C中,你可以这样写

const char *result = "AB";

C++ 标准是否支持这种风格?这个常量字符串的生命周期是否与指针的相同范围一起得到保证?

最佳答案

文字字符串常量具有整个程序的生命周期,并且存储字符串的数组永远不会超出范围。

请注意,C 和 C++ 中的文字字符串之间存在语义差异:在 C++ 中,文字字符串存储在 constant 字符数组中(因此 中的 const需要 const char*)。在 C 中,它们不是常量数组(因此 char * 在 C 中没问题)。但是,不允许在 C 中修改文字字符串,这使得它们只读(但不是常量)。

关于悬挂字符串的 C++ 生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56422334/

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