Могу ли я освободить() что-то в C, которое было использовано malloc() в C++?C++

Программы на C++. Форум разработчиков
Гость
Могу ли я освободить() что-то в C, которое было использовано malloc() в C++?

Сообщение Гость »


Я пишу оболочку для библиотеки, написанной на C++, чтобы ее можно было использовать из C. В коде оболочки я делаю множество копий базовых данных контейнеров C++. Например. если библиотечная функция C++ возвращает std::vector, моя оболочка вернет структуру вида {size_t len; size_t размер; void *arr;, где arr содержит копию данных из вектора. Когда пользователь закончит работу с данными, он должен освободить их.

Мой вопрос: разрешено ли всегда пользователю (C-код) вызывать free() для указателей, которые были malloc()< /code>:d в C++? Или мне нужно создать эквивалентную функцию в моем коде-оболочке?

Вернуться в «C++»