在C++中,static变量的存储位置取决于它们是在函数内部还是外部定义的。
void func() {
static int x = 0; // x存储在静态存储区
}
int x = 0; // x存储在全局数据区
void func() {
// ...
}
需要注意的是,static变量在程序的生命周期内只初始化一次。如果需要在函数内部修改全局变量或静态变量的值,只需在函数内部声明该变量即可,无需使用关键字static。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: assert c++ 如何避免误用