C vs. C++

ich finde seine Syntax nur weniger umständlich als die von C.
Syntaktisch gibt es doch eigentlich kaum Unterschiede - abgesehen von einigen neuen Schlüsselwörtern für OOP. Du meinst wahrscheinlich die objektorientierte Struktur der Programme.

Ein Programm, das nur printf und scanf verwendet, mag auf den ersten Blick wie ein antikes C-Programm anmuten, jedoch kann es durchweg C++-spezifisch sein.
Wie ich schon sagte: Vermischung von prozeduraler und objektorientierter Programmierung, schlechter Stil.
 
Zu Dario:

Syntaktisch gibt es doch eigentlich kaum Unterschiede - abgesehen von einigen neuen Schlüsselwörtern für OOP. Du meinst wahrscheinlich die objektorientierte Struktur der Programme.

Nein, nicht nur die. Structs können in C++ beispielsweise weniger umständlich verwendet werden als in C.

Wie ich schon sagte: Vermischung von prozeduraler und objektorientierter Programmierung, schlechter Stil.

Ich bezog mich damit nicht auf OOP, sondern u.a. auf solche Unterschiede wie bei den Structs. Das ist kein schlechter Stil, sondern C++ :)

Zu Terrance & Philipp:

In prozeduraler Programmierung hat der Programmierer die vollständige Kontrolle darüber, wann welche Methode (dort eigtl. Funktion genannt) aufgerufen wird, nämlich nur dann, wenn er explizit den entsprechenden Aufruf hinschreibt. In der OOP gibt es Methoden, die implizit aufgerufen werden: vor allem Konstruktoren und Destruktoren. Schon allein dies stellt einen Mehraufwand im Code dar, denn nicht immer sind Konstruktoren oder Destruktoren notwendig.

Aber es gibt noch ein weiteres Konzept in der OOP, das extrem leistungsschmälernd wirkt: Properties. In der OOP ist es üblich, klasseninterne Daten vor dem Zugriff von außen zu schützen, indem man sie als privat deklariert. Um nun von außen auf solche Daten zuzugreifen, werden die berühmt-berüchtigten "get"- und "set"-Methoden geschrieben: z.B. getTitle(), setTitle() etc. Der klassische Ansatz sähe so aus, dass man einfach sagt: title = "blablabla" anstatt setTitle("blablabla"). Im Kontext eines Algorithmus kann das zu enormen Leistungseinbußen führen. Mathematische Algorithmen sollte man beispielsweise niemals auf solche Weise schreiben.

Gawayn
 
Zurück