Компиляция следующего кода в Visual Studio 2015 (Win7, x64, настройка отладки) заняла очень, очень, очень много времени (т.е. Более 10 минут)
double tfuuuuuuu(int Ind)
{
const double Arr[600 * 258] = {3.5453, 45.234234234, 234234.234,// extends to 258 values for each line
// 599 lines here.....
};
return Arr[Ind];
}
Но когда я добавил ключевое слово static
, компиляция заняла полсекунды
double tfuuuuuuu(int Ind)
{
static const double Arr[600 * 258] = {3.5453, 45.234234234, 234234.234,// extends to 258 values for each line
// 599 lines here.....
};
return Arr[Ind];
}
Я знаю, что static
означает, что переменная будет сохранять свое значение между вызовами, но если массив в любом случае является const
какая разница, если я добавлю static
? и почему время компиляции так резко изменилось?
РЕДАКТИРОВАТЬ:
Фактический код можно найти здесь (компиляция была в режиме отладки)