So war ich auf etwas neugierig. Ich habe zwei Funktionen, arbeiten sowohl die Art, wie ich sie wollen, und sie sind wie folgt:Verwenden Sie den gleichen Parameter in verschiedenen Funktionen
//this function returns the absolute value of a number
int abs(int y) {
if (y < 0) {
return -1 * y;
}
return y;
}
//gives a random number, multiplied by x, in the range 1-y
int randomNum(int x, int y) {
srand((int)time(0));
return abs(x * rand() % y) + 1;
}
Beide arbeiten, so dass ihre Funktionalität nicht das Problem ist. Aber wenn Sie bemerken, verwenden beide einen Parameter namens "int y".
Meine Frage ist, trotz der Tatsache, dass diese beiden Funktionen funktionieren, ist diese schlechte Praxis, die mich in komplexeren Programmen verschrauben könnte? Oder spielt es keine Rolle, weil die Variablen lokal für ihre jeweiligen Funktionen sind?
Ich meine, es ist offensichtlich keine große Sache, wenn ich einen der "int y" Parameter zu etwas anderem ändere, ich bin nur neugierig, ist alles.
Haben Sie Informationen zum Umfang einer Variablen kennen zu lesen? – lU5er
Jeder Name, der in einem C++ - Programm angezeigt wird, ist nur in einem möglicherweise nicht zusammenhängenden Teil des Quellcodes gültig, der als Bereich bezeichnet wird. http://en.cppreference.com/w/cpp/language/scope –
Offtopic: Sie sollten 'srand' nur einmal in Ihrem Programm aufrufen, nicht bei jedem Funktionsaufruf. – mch