Застосування покажчика unique_ptr
У функції foo1 ми виділяємо пам'ять для покажчика ptr і потім звільняємо її за допомогою оператора delete. Однак, якщо станеться виняток під час роботи функції, то пам'ять не буде звільнено, що призведе до витоку пам'яті.
У другому прикладі ми використовуємо std::unique_ptr, який виділяє пам'ять під час ініціалізації та звільняє пам'ять під час знищення об'єкта.
Таким чином, ми можемо гарантувати, що ресурси будуть коректно звільнені, навіть у разі виключення.
Цей тип покажчиків корисний, коли потрібен покажчик на об'єкт, на який НЕ буде інших покажчиків і який буде видалено після видалення покажчика.
#cplusplus
Code Ukraine
У функції foo1 ми виділяємо пам'ять для покажчика ptr і потім звільняємо її за допомогою оператора delete. Однак, якщо станеться виняток під час роботи функції, то пам'ять не буде звільнено, що призведе до витоку пам'яті.
У другому прикладі ми використовуємо std::unique_ptr, який виділяє пам'ять під час ініціалізації та звільняє пам'ять під час знищення об'єкта.
Таким чином, ми можемо гарантувати, що ресурси будуть коректно звільнені, навіть у разі виключення.
Цей тип покажчиків корисний, коли потрібен покажчик на об'єкт, на який НЕ буде інших покажчиків і який буде видалено після видалення покажчика.
#cplusplus
Code Ukraine