gpt4 book ai didi

c++ - 临时对象存储在哪里?

转载 作者:可可西里 更新时间:2023-11-01 15:47:43 26 4
gpt4 key购买 nike

temporary objects 是真的吗?存储在动态(堆)内存中?

最佳答案

标准没有为它们强制要求任何内存区域(堆/堆栈),但它们就像局部变量“自动存储”一样,位于表达式的末尾(或绑定(bind)到 ref-to- 时更长) const) 它们被破坏了。

大多数实现会将它们存储在堆栈中,就像局部变量一样。

编辑:

正如 James Kanze 所指出的:在通过 ref-to-const 延长临时对象的生命周期的情况下,它的存储位置在大多数实现中都多少取决于该引用的存储位置。也就是说,在静态存储中引用的情况下,临时文件也将如此(刚刚在 gcc 上确认)。 (尽管恕我直言,虽然这在标准意义上仍然是临时的,但从该词的直观英语意义上来说,这是否是临时的还有待商榷)

关于c++ - 临时对象存储在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9109831/

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