Будет ли значение инициализации вычисляться во время компиляции или во время выполнения?

Если у меня есть функция, которая использует rand() функция в качестве значения инициализации, будет ли это значение найдено при компиляции программы или при запуске функции?

сказать:

int function(int init = rand()){
  return init;
}

если он найден во время компиляции, как я могу сделать инициализацию динамической? я думаю, я бы использовал NULL в качестве значения инициализации, но как я могу сказать разницу между NULL а также init = 0?

1 ответ

Значение рассчитывается во время выполнения.

Вы всегда можете создать крошечную программу и проверить это на практике:

int main() {
    srand( time(NULL) );
    std::cout << function() << std::endl;
}
Другие вопросы по тегам