2011-08-11 18 views
5

jeśli mam funkcję, która korzysta z funkcji rand() jako wartości inicjalizacyjnej, czy wartość ta byłaby znaleziona podczas kompilacji programu lub po uruchomieniu funkcji?Czy wartość inicjalizacji zostanie obliczona w czasie kompilacji lub w czasie wykonywania?

powiedzieć:

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

jeżeli okaże się w czasie kompilacji, jak mogę dostać inicjalizacji być dynamiczne? Myślę, że użyłbym NULL jako wartości inicjalizacji, ale jak mógłbym odróżnić NULL i init = 0?

Odpowiedz

6

Wartość jest obliczana w czasie pracy.

Zawsze można stworzyć mały program i sprawdzić, że w praktyce:

int main() { 
    srand(time(NULL)); 
    std::cout << function() << std::endl; 
} 
Powiązane problemy