Зміст курсу
Розумні Вказівники C++
Розумні Вказівники C++
Створення та Спільне Використання Спільних Вказівників
Рекомендований підхід
Рекомендований спосіб створення спільного вказівника - це використання функції std::make_shared
. Цей підхід зазвичай більш ефективний та виразний у порівнянні з використанням new
. Він виділяє пам'ять для об'єкта та контрольного блоку (лічильник посилань) за один крок. Наприклад:
make_shared
// Create a shared pointer to an integer std::shared_ptr<int> p_int = std::make_shared<int>(42);
Вищенаведений рядок виділяє динамічне ціле число і також ініціалізує спільний вказівник на нього з лічильником посилань, рівним одному.
Непідтримуваний підхід
Ви також можете створювати спільні вказівники, використовуючи new
, але цей метод не рекомендується, оскільки він не є виразним і ефективним. Синтаксис цього підходу вимагає передати об'єкт до конструктора спільного вказівника.
creating_shared_pointer
// Also creates a shared pointer to an integer std::shared_ptr<int> p_int(new int(42));
Виділення динамічного цілого числа, а потім передача його до конструктора спільного вказівника. Однак, блок керування (лічильник посилань) буде ініціалізовано всередині конструктора.
Це означає, що ми виконуємо дві окремі ініціалізації, що є неефективним, і помилка може бути згенерована.
Передача Спільних Вказівників
Спільні вказівники спеціально створені для безпечного спільного використання. Давайте розглянемо кілька способів, як ми можемо їх передавати.
Дякуємо за ваш відгук!