gpt4 book ai didi

c++ - 文字是标准术语的对象吗?

转载 作者:太空狗 更新时间:2023-10-29 20:57:58 26 4
gpt4 key购买 nike

标准定义:

An object is a region of storage. [ Note: A function is not an object, regardless of whether or not it occupies storage in the way that objects do. —end note ] An object is created by a definition (3.1), by a new-expression (5.3.4) or by the implementation (12.2) when needed.

(12.2是关于临时对象的)

文字肯定会占用一个存储区域。我不确定报价的最后一句话是成为对象的必要条件。文字既不是由定义也不是由 new 表达式创建的,但是除了字符串文字之外的所有文字都是临时对象,对吧?这导致了一个奇怪的结论,即字符串文字不是对象,而所有其他文字都是对象。这感觉不对。

最佳答案

除了字符串字面量外,不能保证字面量占用存储空间。小字面量可能会直接合并到具有直接操作数的机器指令中,甚至(如 0 的常见情况)被计算或永久存在于机器寄存器中。

如果有必要创建一个临时文件,则适用“按需要执行”这一短语。

至于字符串文字,§2.13.5 说(¶16):“评估字符串文字会产生具有静态存储持续时间的字符串文字对象……”。也许应该将对该部分的引用添加到 OP 中引用的列表中。

关于c++ - 文字是标准术语的对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28795540/

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