gpt4 book ai didi

c++ - 在什么时候将内存分配给 C++ 中的常量变量?

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

据我所知,常量类成员必须在构造函数运行之前初始化,但由于它们不能在类主体中初始化(因为它只是一个原型(prototype)),因此我们需要在初始化列表中对其进行初始化。我的问题是内存何时分配给常量变量,执行顺序是什么?

class constant
{
const int a;
public:
constant(int k):a(k)
{
cout<<"a is "<<a<<endl;
}
};

int main()
{
constant cl(5);
return 0;
}

编辑:常量变量是否需要在分配内存的位置进行初始化?

最佳答案

我认为你对 const 的理解是错误的。少将其视为与实现细节(如内存)或运行时相关,而更多地将其视为帮助程序员和编译器的一种方式。

内存何时分配并不重要(虽然它是在你构造对象之前,在进入初始化列表之前 - 标准没有指定),重要的是你只能初始化初始化列表中的变量(pre C++11) 甚至 const 整数类型的类定义。

关于c++ - 在什么时候将内存分配给 C++ 中的常量变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11869676/

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