std::placeholders
std::placeholders - це простір імен у стандартній бібліотеці C++, що містить набір об'єктів-заповнювачів (_1, _2, ..., ..., _N), які використовуються під час роботи з функцією std::bind.
Функція std::bind дозволяє пов'язувати аргументи з функцією, створюючи новий об'єкт-функцію, який може бути викликаний пізніше. Заповнювачі в std::placeholders використовуються для позначення місць у списку аргументів, де будуть підставлені значення при виклику нового об'єкта-функції.
#cplusplus
Code Ukraine
std::placeholders - це простір імен у стандартній бібліотеці C++, що містить набір об'єктів-заповнювачів (_1, _2, ..., ..., _N), які використовуються під час роботи з функцією std::bind.
Функція std::bind дозволяє пов'язувати аргументи з функцією, створюючи новий об'єкт-функцію, який може бути викликаний пізніше. Заповнювачі в std::placeholders використовуються для позначення місць у списку аргументів, де будуть підставлені значення при виклику нового об'єкта-функції.
#cplusplus
Code Ukraine
Застосування покажчика uniqueptr<T>
У функції foo1 ми виділяємо пам'ять для покажчика ptr і потім звільняємо її за допомогою оператора delete. Однак, якщо станеться виняток під час роботи функції, то пам'ять не буде звільнено, що призведе до витоку пам'яті.
У другому прикладі ми використовуємо std::uniqueptr, який виділяє пам'ять під час ініціалізації та звільняє пам'ять під час знищення об'єкта.
Таким чином, ми можемо гарантувати, що ресурси будуть коректно звільнені, навіть у разі виключення.
Цей тип покажчиків корисний, коли потрібен покажчик на об'єкт, на який НЕ буде інших покажчиків і який буде видалено після видалення покажчика.
#cplusplus
Code Ukraine
У функції foo1 ми виділяємо пам'ять для покажчика ptr і потім звільняємо її за допомогою оператора delete. Однак, якщо станеться виняток під час роботи функції, то пам'ять не буде звільнено, що призведе до витоку пам'яті.
У другому прикладі ми використовуємо std::uniqueptr, який виділяє пам'ять під час ініціалізації та звільняє пам'ять під час знищення об'єкта.
Таким чином, ми можемо гарантувати, що ресурси будуть коректно звільнені, навіть у разі виключення.
Цей тип покажчиків корисний, коли потрібен покажчик на об'єкт, на який НЕ буде інших покажчиків і який буде видалено після видалення покажчика.
#cplusplus
Code Ukraine