Thread argument an &{$id}
(11 answers)
Opened by Froschpopo at 2006-02-21 20:40
[quote=esskar,23.02.2006, 10:08][quote=Strat,22.02.2006, 23:14]@esskar: bei beiden wird dereferenziert;[/quote]
ist das sicher so? ich kenn das nur von C++ Punkt 2 ist echte dereferenzierung - da ist mehr zu tun als bei 1[/quote] Wie kommst du denn darauf? Es macht in C++ natürlich keinen Unterschied, ob man mit *. oder -> dereferenziert. Letzteres ist nur syntaktischer Zucker. Hier ein experimenteller Beweis. C++ Quellcode: Code: (dl
)
1 class Foo { Kompilationskommando: Code: (dl
)
g++ -Wall -O3 -g0 -S deref.cc Ein kurzer Blick auf die Assemblerausgabe zeigt sofort, dass die beiden Funktionen arrow_syntax und star_syntax in einen unkonditionalen Sprungbefehl auf denselben Code optimiert werden. Auch ohne eingeschaltete Optimierungen kommt für beide Funktionen derselbe Code heraus. Wenn VC++ das anders handhabt, dann erkläre ich den Compiler für noch bekloppter als g++. (edit: das Forum mag offensichtlich Assemblercode nur im Vorschaumodus, daher habe ich den wieder entfernt...)\n\n <!--EDIT|murphy|1140717807--> When C++ is your hammer, every problem looks like your thumb.
|