005
17.10.2002, 13:03 Uhr
fry_
|
Zitat: |
und für funktion wäre es wohl gut zeiger zu erlernen, anstatt alles mir parametern zu übergeben ?
|
Es ist eigentlich immer ein Vorteil, mit Zeigern umgehen zu können. Ich weiß, dass das nicht so einfach ist u. ich kann mich noch gut an meine Anfangzeit erinnern: Zeiger u. wenn dann noch arrays oder Strings mit dazu kamen -> uijuijui *kopfamschütteln* Referenzen in der Parameterliste zu verwenden, macht aber erst bei komplexen Objekten Sinn(zb. string). Bei char würde es Dir keinen großen Vorteil bringen, zumal char 1 Byte groß ist u. ein Zeiger in der Regel 4 Byte benötigt.
'inline' wurde noch nicht erwähnt. Wird eine Funktion aufgerufen, setzt der Prozessor seinen Programm-Zeiger auf diese Speicherstelle. Zuvor werden verschiedene Prozessorinterne Werte auf den Stapelspeicher gesichert, das sehr Zeitaufwendig ist. Bei 'inline' definierten Funktionen, schreibt nun der Compiler diesen Code an die jeweiligen Positionen in die aufrufende Funktion hinein -> somit entfällt das Springen und das Sichern der Umgebung. Bläht Deine *.exe Datei zwar auf, macht aber Sinn. Bsp.:
Code: |
#include <iostream>
inline int max( int a, int b) { return a > b ? a : b; }
int main() {
int a= 5, b = 6; std::cout << "Maximum von a und b: " << max(a,b) << std::endl;
return 0; }
|
(War der Quellcode früher nicht immer farblich?)
Zitat: |
Welche schleife ist denn am etwas die sparsamste? die for schleife nehme ich mal an ?
|
Kann ich Dir leider nichts zu sagen. Aber so vom Gefühl her, würde ich das bejahen.
Gruß -- mit computern geht alles viel schneller es dauert nur ein bisschen länger Dieser Post wurde am 17.10.2002 um 13:08 Uhr von fry_ editiert. |