我可以在C++中取消声明变量吗?

Can I undeclare a variable in C++?

本文关键字:变量 声明 取消 C++ 我可以      更新时间:2023-10-16

说,由于某种原因,我不再需要变量:我可以"取消声明"它吗?

例如:delete 运算符解除分配专用于指针的内存,我也可以"删除"指针本身吗?

你不能取消声明一个变量,就像你不能成为未出生的人一样。但是您可以使用范围来限制它的存在:

{
  int a = 42;
}
// a doesn't exist here

不,您不能"取消声明"变量。当它超出范围时,它是"未声明的"。

请注意,变量声明仅在编译期间相关。一旦程序被编译,变量就不再被"声明"或"未声明"。对象实例在运行时创建,但变量在编译时声明。

您可以在本地隐藏其值:

int a = 10;
void some_function()
{
    int a = 100;
    // a is 100 here
}