Posts for: #C

Polymorphismus in C

Polymorphismus endlich auch in C

Neidisch und voller Bewunderung schauen C-Programmierer auf ihre objektorientierungsvirtuosen Kollegen, die sich in der Firma wie Götter gebärden. Warum nur hat der Chef C angeordnet? C-Programmierer wollen auch diese tollen Sachen machen und bewundert werden. Aber was ist das überhaupt, was die da machen?

Was ist diese Objektorientierung überhaupt?

Bei der Objektorientierung geht es darum, die Trennung zwischen statischer Struktur und Verhalten aufzubrechen. Wo in C noch Structs von Funktionen beackert wurden, kommen in C++ jetzt die Structs als „Klassen“ daher und bringen ihren Code gleich noch mit – ein mittlerer Alptraum für jeden Architekten, der Struktur und Verhalten lieber getrennt sehen möchte. Ein paar fiese Konzepte besiegeln dazu die restlose Verwirrung. Anders als in C kann eine Funktion (die jetzt „Methode“ heißt“) je nach Parametertyp unterschiedliche Implementierungen mitbringen:

Read more →

Unions sind gut!

Im Internet verbreitet sich mehr und mehr das Gerücht, dass unions vermieden werden sollen. Diese Aussage ist absolut falsch. unions sind eines der besten Sprachfeatures von C/C++ und sollten in jedem Programm verwendet werden.

Unions haben einige sehr eindeutige Vorteile:

Unions sparen Unmengen an Speicherplatz

Ein großer Gegenspieler der union in C ist das struct. Beide verhalten sich sehr ähnlich, aber ein struct braucht unverhältnismäßig mehr Speicher!

Schauen wir uns zwei kleine Codebeispiele an:

Read more →