考虑下面的例子
void func(int i){
if(i) {
int arr[2048] = {0};
//Doing something related to arr;
} else {
//Doing something
}
}
Run Code Online (Sandbox Code Playgroud)
我在if块中有一个大数组声明。该数组的初始化应花费一些时间。我的问题是:如果i == 0,该数组是否将全部初始化?
如果i == 0,此数组是否会初始化?
因为你的代码是
Run Code Online (Sandbox Code Playgroud)if(i) { int arr[2048] = {0}; //Doing something related to arr; } else { //Doing something }
如果i==0无法初始化则该数组不存在,该数组仅存在于if的分支中i != 0