Я использую библиотеку, написанную на C, в проекте C ++.
Я бы хотел использовать исключения C ++ для обработки ошибок C.В частности, было бы неплохо создать исключение в случае сбоя выделения.
Я могу сделать это в конструкторах классов, которые содержат указатели в стиле C на структуры C:
if (c_object == NULL)
throw std::bad_alloc();
Но если класс отвечает за несколько объектов C, они не могут освободить все уже выделенные указатели, поскольку деструктор не вызывается.
У меня такое чувство, что я мог бы использовать smart-указатели, но я нене имеет большого опыта с ними.Более того, у меня должен быть доступ к оригинальным указателям на C, чтобы правильно использовать C api.
Есть ли элегантное решение для этого?