gpt4 book ai didi

c++ - C++ 中的变量或标识符究竟存储在哪里?

转载 作者:行者123 更新时间:2023-11-30 01:33:25 24 4
gpt4 key购买 nike

根据我目前的知识,变量(标识符)指向特定类型(int、bool 等)的对象,它们是内存中的对象。变量本身存储在哪里以及如何存储?它们是与它们指向的对象一起存储还是存储在其他地方?

例如;

int main()
{
int a_number = 2;
return 0;
}

所以变量 a_number 指向内存中的一个 int 对象,但是 a_number 本身在哪里?

如果说 2 在一个 4 字节内存中,a_number 是否占用了它的一部分??还是 a_number 在某处消耗了一些其他分配的内存??

顺便说一下,我目前正在学习 C++(我是编程的初学者),我正在考虑这个问题,但无法真正将其形象化。谢谢。

最佳答案

在这种特殊情况下,a_number 命名一个 int 对象,该对象消耗 sizeof(int) 字节并具有自动存储持续时间。具有自动持续时间的存储内存通常分配在声明所属函数的堆栈帧中(在本例中为 main())。

a_number 实际上成为存储在这些字节中的 int 对象的名称。该名称在运行时不存在,因为此时不再需要它。该名称的唯一目的是允许您在代码中引用该对象。

关于c++ - C++ 中的变量或标识符究竟存储在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58510801/

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