Будет ли значение инициализации вычисляться во время компиляции или во время выполнения?
Если у меня есть функция, которая использует rand()
функция в качестве значения инициализации, будет ли это значение найдено при компиляции программы или при запуске функции?
сказать:
int function(int init = rand()){
return init;
}
если он найден во время компиляции, как я могу сделать инициализацию динамической? я думаю, я бы использовал NULL
в качестве значения инициализации, но как я могу сказать разницу между NULL
а также init = 0
?
1 ответ
Значение рассчитывается во время выполнения.
Вы всегда можете создать крошечную программу и проверить это на практике:
int main() {
srand( time(NULL) );
std::cout << function() << std::endl;
}