Suche Liste mit "C++ Standardbezeichnungen"
-
-
...das sollte in die FAQ
-
Und dabei hat Nexus noch nicht einaml templates mit einbezogen. Wie soll man einen Template Parameter benennen, wo der Typ nicht einmal bekannt ist?
Im übrigen ist die ungarische Notation einfach ein Überbleibsel von Zeiten, wo die Leute noch in reinen Texteditoren programmiert haben. Da war das, denke ich sicher noch extrem hilfreich, aber Heute ist das imo einfach nur unnötig.
-
Nexus schrieb:
typedef int Ffunc(double); // F für Funktionen - was ist mit Rückgabetyp und Parameter? typedef void (*pFv_idC_MyFunc)(int, double, CMyClass); // Funktionszeiger mit allen Informationen. typedef boost::function<int(double)> Fi_d_MyFunc; // Ist schliesslich semantisch auch eine Funktion. Andererseits // auch Klasse und Template - was jetzt? struct SMyFunctor {}; // Funktionsobjekt. S? C? Ist aber recht ähnlich wie Funktion.
Befürworter der Ungarischen Notation haben dieses Problem nicht, da ihr C++ stilistisch irgendwo vor 1996 stattfindet.
-
Danke für die Zustimmung.
Hm, Fragen bezüglich Ungarischer Notation treten hier schon ab und zu auf, aber ob die einen FAQ-Eintrag wert sind? Dort gibts schon genügend unwichtige Themen. Andererseits könnte man auch argumentieren, dass UN genau deshalb einen Eintrag verdient hätte.
Ich denke, ansonsten kann man diesen Thread auch verlinken...
-
Mehr als "UN ist doof" braucht man nicht zu wissen. Und das erfährt man auch ohne FAQ schnell genug.
-
volkard schrieb:
Mehr als "UN ist doof" braucht man nicht zu wissen.
Alter Dokmatiker.
-
Bashar schrieb:
volkard schrieb:
Mehr als "UN ist doof" braucht man nicht zu wissen.
Alter Dokmatiker.
Wo er Recht hat ...
-
Bashar schrieb:
volkard schrieb:
Mehr als "UN ist doof" braucht man nicht zu wissen.
Alter Dokmatiker.
hihi.
Wie immer gibt es Ausnahmen. So ist zum Beispiel manchmal das p vor bedeutungslosen Zeigern gut,if(*pa<*pb)//ohne schutz schreibt man dauend if(pa<pb) foo(pa); else foo(pb);
-
Wenn die Zeiger bedeutungslos sind, ist es der Code sicher auch. Dann kommt es auch nicht mehr aufs Dereferenzieren an ...
-
camper schrieb:
Wenn die Zeiger bedeutungslos sind, ist es der Code sicher auch. Dann kommt es auch nicht mehr aufs Dereferenzieren an ...
damit meine ich, daß sie nicht file, dog oder avlTreeNode heißen, sondern die funktion eher eine universelle funktion ist, die zum beispiel auf allen zeigerpaaren operieren kann, wenn die pointees vergleichbar sind.
template<typename T> void deleteTheBiggerOne(T* pa,T* pb){ if(... ... }