Использование 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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