Forum-ITB

Forum der ITB
 
StartseiteStartseite  FAQFAQ  SuchenSuchen  AnmeldenAnmelden  MitgliederMitglieder  NutzergruppenNutzergruppen  Login  UploadUpload  

Teilen | 
 

 Die größten C++ Lügen

Nach unten 
AutorNachricht
Heinzelmännchen
College
College
avatar

Anzahl der Beiträge : 80
Alter : 29
Ort : Wadersloh
Anmeldedatum : 21.08.07

BeitragThema: Die größten C++ Lügen   So Sep 09, 2007 3:08 am

Zitat :

void main()

Ich weiß nicht woher das Gerücht kam, vermutlich daher, dass einige Leute den alten K&R-Code missinterpretierten, bei dem wenn kein Rückgabetyp bei einer Funktion angegeben wurde automatisch int angenommen wurde. Aber in zahlreichen Büchern und Tutorials wird erklärt, dass void main() legales C++ sei, dass ist aber falsch! Es gab keinen C++-Standard, der je void main für legal erklärte. Die main-Funktion muss immer int zurückgeben!
Zitat :

iostream.h

Vor dem C++-Standard (C++98) hatten alle Header der Standard-Library das aus C bekannte .h als Suffix, aber mit dem C++-Standard wurde das .h-Suffix weggelassen und die Standard-Library in den Namespace std verpackt. Denn die neuen Header beinhalten signifikante Änderungen, die teilweise unvereinbar mit den alten Headern sind. Leider wird in zahlreichen Büchern und Tutorials immer noch die alte Methode gelehrt.
Zitat :

C als Klassen Prefix

Einige Leute benutzen für Klassennamen ein C als Prefix (zB. class CAuto;). Das C-Prefix, hat seine Geschichte in der MFC-Library. Die MFC ist eine C++ Library, mit deren Hilfe man Windowsprogramme erstellen kann. Die MFC wurde vor dem C++-Standard entwickelt und einige Features wie Namespaces waren noch nicht vorhanden bzw. die Compiler unterstützten diese nur unzureichend. Um Namenskonflikte zu vermeiden (Window ist wirklich kein seltener Klassenname!), entschlossen sich die Microsoft Entwickler dazu ein C als Prefix für die Klassennamen einzuführen. C wurde vermutlich für Class (also Klasse) genommen (siehe "Ungarische-Notation"). Nun übernahmen aber viele Programmierer das C als Prefix für ihre Klassen. So wurde nicht nur die Gefahr der Namenskollision wieder eingegangen, sondern die Bezeichner klingen nicht mehr eindeutig und mehr verwirrend. Warum die MFC Entwickler nicht MFC als Prefix genommen haben, was eindeutiger gewesen waere und sicher keine Nachahmer gefunden hätte, ist mir schleierhaft. Siehe hierzu auch CObject und seine Probleme.
Zitat :

Ungarische Notation

Die Ungarische-Notation ist eine Notation für Bezeichnernamen, die von Microsoft entwickelt wurde. Dabei wird im Bezeichner der Variabeln-Typ kodiert, also zB. eine char-Variable würde nun cFoo oder eine int-Variabel wurde nFoo heissen. Diese Notation, ist aber sehr umstritten, nicht nur weil es verwirrender ist sich komplizierte Dateinamen zu merken oder Konzepte an bestimmten Typen fest zu machen, in C++ kommt noch die Problematik hinzu, dass man eigene Typen erzeugen kann (Klassen) und es für die Klassennamen natürlich kein einheitliches Namensschema gibt, was zu noch mehr Verwirrung und Unordnung führen kann. Siehe hierzu auch CObject und seine Probleme.


rofl?????

_________________
~Je mehr sich Dinge ändern, umso gewisser, dass alles gleich bleibt~
(Flucht aus L.A. - Escape from LA)
Nach oben Nach unten
Benutzerprofil anzeigen http://www.band-ohne-anspruch.de/preRelease/
 
Die größten C++ Lügen
Nach oben 
Seite 1 von 1

Befugnisse in diesem ForumSie können in diesem Forum nicht antworten
Forum-ITB :: Fun & Spam :: Spam-
Gehe zu: