Thread Haltbarkeit von $_[0]
(9 answers)
Opened by bianca at 2010-04-02 08:36
Man muss auch noch aufpassen, was man genau mit den Elementen von @_ anstellt — sie enthalten nämlich Aliase auf die eigentlichen Parameter, nicht Kopien von ihnen. Wenn ich also zum Beispiel
ausführe, gibt das einen Fehler, weil die Transliterationsoperation in der Subroutine foo versucht, die übergebene Konstante zu verändern. Kopiert man die Parameter einer Subroutine zunächst in lokale Variablen, so ist man vor diesem in der Regel unerwünschten Verhalten gefeit. Gelegentlich will man aber auch genau solch ein Verhalten erreichen und sollte dann nicht aus @_ herauskopieren, sondern erneut einen Alias anlegen oder das Arrayelement direkt modifizieren. When C++ is your hammer, every problem looks like your thumb.
|