如果这是在一个函数中声明的,它会在堆栈中声明吗?(它是const是让我惊讶的原因)
void someFunction()
{
const unsigned int actions[8] =
{ e1,
e2,
etc...
};
}
Run Code Online (Sandbox Code Playgroud)
是的,他们在堆栈中.你可以通过查看这段代码来看到这一点:它必须打印破坏消息5次.
struct A { ~A(){ printf( "A destructed\n" ); } };
int main() {
{
const A anarray [5] = {A()} ;
}
printf( "inner scope closed\n");
}
Run Code Online (Sandbox Code Playgroud)