C++ wrapper
-
hoi,
man soll ja nicht C und C++ mischen, aber wie schreibe ich dann ein C++ wrapper für z.B die Linux CD-Rom funktionen - das ist doch dann zwangsläufig ne mischung oder?mfg blan
-
Man soll nicht "C mit Klassen" programmieren. Aber in C++ eine C-API anzusprechen ist nicht schlimm.
-
Ich glaub da hast du was falsch verstanden. Du sollst z.B. nicht C-Strings benutzen und auch noch diese mit strcpy usw. bearbeiten, wenn es doch die viel komfortablere und sichere std::string gibt. Ist jetzt nur ein Beispiel...
Wenn du aber z.B. eine C-API hast, und du willst es kapseln, dann schreibst du dafür einen C++ Wrapper. Das machen ja viele Libs, z.B. die GTKmm-Lib kapselt letztendlich auch nur die C-API von GTK. Aber GTKmm ist für einen C++ler halt komfortabler zu handhaben.
Oder schau dir boost::filesystem an. Es kapselt auch nur die vielen C-APIs von Unix, Linux und Windows. Aber boost::filesystem wrappet die auch nur. Hat man mehrere Fliegen mit einer Klappe geschlagen: 1. ist es objekt orientiert und 2. kann man unter dem Wrapper die API (wiederrum von einem Betriebssystem) einfach austauschen... aber das C++ Wrapper-Interface bleibt gleich.
Es gibt sogar Wrapper die andere C++ Libs kapseln.
-
aaah ok - danke

mfg blan