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