Was soll das 'T' vor den Klassen?
-
Warum beginnen in der VCL alle Klassen mit 'T'?
Ich habe da eine Vermutung, aber bevor ich Müll weitererzähle frage ich nach:- Es gab im ersten C++ Standard noch keine Namespaces (stimmt das überhaupt - lol?), darum wurde das 'T' eingeführt dass es keine Namenskonflikte mit benutzerdefinierten Klassen gibt.
- Die VCL gibt es afaik nicht nur für C++, sondern zumindest auch für Delphi, und da sollten sich alle Klassen gleich verhalten, und auh gleich heißen.
Vom Designaspekt in C++ wäre doch ein Namespace viel besser

Gruß
-
Die VCL ist in Object Pascal (Delphi) geschrieben und da gibt es keine Namespaces. Der C++ Standard stammt von 1998 vorher gab es keinen.
Man sieht diese Problem auch sehr schön in der MFC, wo alle Klassen mit C beginnen. Auch diese Klassenbibliothek ist vor Verabschiedung des Standards erstellt worden.
Namespaces wären mir auch lieber. Da müsste man aber eine Art C++ Wrapper um die VCL herum schreiben. Ich denke mal das wäre zuviel Aufwand.
-
Das T gabs schon in Turbo Vision, von wann ist das, 1990? Ich weiss nicht, ob es auch schon üblich war, bevor Turbo Pascal objektorientierte Features bekommen hat. Meine Vermutung war immer, dass es für Type steht, ähnlich wie in C bei pid_t, time_t usw.
-
Stimmt, die TurboVision hab ich ja ganz vergessen. Sie hatte aber schon den Typ Object (in C++ class). War also prinzipiell objektorientiert. Ich hatte so um 1992 mal damit rumexperimentiert.
-
Danke für die Antworten.
Wie ich also bereits vermutet habe ist dieses 'T' nur ein Überbleibsel aus der Vergangeheit und nach den heutigen C++ Coding Standards nicht sonderich gutes Design.
Gruß