Re: Beautiful C API
От: -MyXa- Россия  
Дата: 22.04.16 14:00
Оценка:
Здравствуйте, GhostCoders, Вы писали:

GC>ну и С++ врапперы:

GC>
GC>class Printer
GC>{
GC>private:
GC>    void * printer_handle;
GC>public:
GC>     Printer()
GC>     {
GC>         printer_handle = printer_create();
GC>     }
GC>     ~Printer()
GC>     {
GC>         printer_destroy(printer_handler);
GC>     }
GC>     void Show()
GC>     {
GC>         printer_show(printer_handle);
GC>     }
GC>};
GC>


Дело нужное. Не забудь только оператор присваивания запретить.

И самое главное — любое летящее из внутреннего С++-а исключение должно обязательно ловиться С-шной обёрткой и снова бросаться в неизменном виде в С++-ной. И, кстати, что ты будешь делать в случае, если над С++-ом есть только С (без С++ над С) и этот внутренний С++ выбросит, скажем, boost::thread_interrupted. С-шный код как-то должен понять, что пора закругляться, но как?
Если не поможет, будем действовать током... 600 Вольт (C)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.