Использование std::string_view и unique_ptr для управления памятью из malloc()C++

Программы на C++. Форум разработчиков
Anonymous
Использование std::string_view и unique_ptr для управления памятью из malloc()

Сообщение Anonymous »

Я использую библиотеку GNU readline, которая возвращает символ char *, выделенный с помощью malloc().
Пользователь несет ответственность за освобождение памяти с помощью free( ).
Я подумываю об использовании std::string_view и std::unique_ptr для работы с этим.
Подойдет ли следующий подход для пользовательского, представление строки только для перемещения?

Код: Выделить всё

class mystring : public std::string_view {
std::unique_ptr up;

public:
mystring &operator=(char *p) = delete;
mystring(char *p) : std::string_view{p}, up{p} { }
};

...

char *buf = readline(prompt);
if (!buf)
return;

mystring s = buf;
Обратите внимание, что для указания лямбды для std::unique_ptr требуется C++20

Подробнее здесь: https://stackoverflow.com/questions/792 ... rom-malloc

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