Enumerator
Mitglied Kamel
Hi!
Ein Kollege von mir hat meinen alten C-Code nach C++ Portieren wollen, genauer gesagt er hat eine Klasse geschrieben die die API um eine Struktur "wrapt".
Da die Member-Funktionen eigentlich nur die C-API aufrufen hat er die Member-Variablen als "const" und "public" deklariert - um laut eigener Aussage soetwas wie "Deskriptoren in Python" zu simulieren.
Wir haben also eine Struktur (C) und eine Klasse (C++) die genau den gleichen Zweck haben. Nun produziert die C++-Variante allerdings hin und wieder SEGFAULTs und damit beginnt unser Streit und hiermit meine Frage:
Bewirkt der "const"-Qualifier in C++ durch Kompiler-Optimierungen die Fehler oder hat mein uralter C-Code auf einmal Fehler?
Ich selbst bin nicht allzu fit in C++, doch ich halte ersteres für wahrscheinlicher.
Den Quellcode selbst erspare ich Euch - es geht nur um den Grundsatz ob oben beschriebene Technik okay ist oder Bullshit - die Fehlersuche mach' ich wenn dann schon selbst.
Gruß
Enum
Ein Kollege von mir hat meinen alten C-Code nach C++ Portieren wollen, genauer gesagt er hat eine Klasse geschrieben die die API um eine Struktur "wrapt".
Da die Member-Funktionen eigentlich nur die C-API aufrufen hat er die Member-Variablen als "const" und "public" deklariert - um laut eigener Aussage soetwas wie "Deskriptoren in Python" zu simulieren.
Wir haben also eine Struktur (C) und eine Klasse (C++) die genau den gleichen Zweck haben. Nun produziert die C++-Variante allerdings hin und wieder SEGFAULTs und damit beginnt unser Streit und hiermit meine Frage:
Bewirkt der "const"-Qualifier in C++ durch Kompiler-Optimierungen die Fehler oder hat mein uralter C-Code auf einmal Fehler?
Ich selbst bin nicht allzu fit in C++, doch ich halte ersteres für wahrscheinlicher.
Den Quellcode selbst erspare ich Euch - es geht nur um den Grundsatz ob oben beschriebene Technik okay ist oder Bullshit - die Fehlersuche mach' ich wenn dann schon selbst.
Gruß
Enum