c++ übergabe von Argumenten per Referenz und Zeiger

in c++

class bar
{
    int i;
    char b;
    float d;
};

void foo ( bar arg );
void foo ( bar &arg );
void foo ( bar *arg );

dies ist ein Beispiel-Klasse/struct und Funktionen
ich habe einige Qs

  • was ist der Unterschied zwischen 1. und 2. Art der übergabe das argument in 'asm', Größe, Geschwindigkeit ?
  • wie die Argumente übergeben werden, um die Funktionen foo in jedem Fall ( im Fall der Zeiger kenne ich den Zeiger auf den stack geschoben wird )
  • wenn Argumente übergeben, in Bezug auf die Effizienz ( Geschwindigkeit, Größe, preferability ) was ist besser ?
  • was ist die intel 'asm' die syntax entspricht jeder der Wege der übergabe von Argumenten ?

ich weiß was die meisten sagen über "es ist egal, auf moderne Compiler und Prozessoren," aber was ist, wenn wir reden über Alte CPUs oder Compiler?

vielen Dank im Voraus

InformationsquelleAutor der Frage VirusEcks | 2011-07-18

Schreibe einen Kommentar