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


Anmelden zum Antworten