Zeiger oder Nichtzeiger
-
Hallo!
Ich bin zwar kein Anfänger mehr, aber bei diesen Fragen bin ich mir noch nicht ganz sicher:
- Wann sollte man Zeiger verwenden, wann nicht?
- Wenn ich mit dem WinAPI oder der MFC programmiere, welche Datentypen sollte ich verwenden, anstelle von int, char, float usw.
- Wann benutzt man inline?
- Warum const benutzen?
Ich habe zu fast all diesen Fragen schonmal was gelesen, allerdings immer gänzlich verschiedene Ansichten, so das ich nach dem Lesen nicht klüger war als vorher....
Hoffe ihr habt kurz Zeit mir zu helfen,
Duffys
-
duffys schrieb:
Hallo!
Hallo
- Wann sollte man Zeiger verwenden, wann nicht?
Wenns sinnvoll ist.
- Wenn ich mit dem WinAPI oder der MFC programmiere, welche Datentypen sollte ich verwenden, anstelle von int, char, float usw.
? Die ganzen hässlichen Bezeichner wie ATOM, INT etc sind doch nur typedefs auf die Standardtypen.
- Wann benutzt man inline?
Um die Ausführungszeit zu erhöhen. Man spart sich, falls der Compiler der Bitte nachtkommt, den Methoden/Funktionsaufruf.
- Warum const benutzen?
Zur Sicherheit. Viele Fehler können so schon zur Compilezeit gefunden werden.
[/quote]
-
Doppelpost
-
naja, das hat mir jetzt alles nur bedingt geholfen.....
hat jemand nochwas dazu zu sagen? vorallem zu den Zeigern?
-
interpreter schrieb:
Um die Ausführungszeit zu erhöhen.
inline verwendet man um eine Entität einmal pro ÜE definieren zu dürfen statt einmal pro Programm.
-
inline verwendet man, um sich Funktions/Methodenaufrufe zu sparen. Das wiederrum macht man, um Geschwindigkeit zu gewinnen. Das wollte ich damit sagen
-
//zeiger
verwendest du eigentlich um lokale kopien zu vermeiden die den code sinnlos groß machen (speicher)(auch referenzen)
mehr braucht man glaub ich am anfang nicht wissen
//const
bsp.
du hast eine zahl als konstante, diese darf oder soll man nicht ändern.
hast du sie als "const" deklariert dann meldet der compiler einen fehler wenn man den wert ändert
-
Zeiher/Referenzen:
Zeiger verwendet man am Anfang zur Reservierung dynamischen Speichers auf dem freestore.
X* p = new X();
http://www.parashift.com/c++-faq-lite/freestore-mgmt.htmlAn Funktionen sollte man zur Vermeidung von Kopien Referenzen (von C++ selbst verwaltete Zeiger) übergeben.
http://www.parashift.com/c++-faq-lite/references.htmlconst:
http://www.parashift.com/c++-faq-lite/const-correctness.html