Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Створення та Спільне Використання Спільних Вказівників | Спільні Вказівники
Розумні Вказівники C++

Створення та Спільне Використання Спільних Вказівників

Свайпніть щоб показати меню

Рекомендований підхід

Рекомендований спосіб створення спільного вказівника - це використання функції std::make_shared. Цей підхід зазвичай більш ефективний та виразний у порівнянні з використанням new. Він виділяє пам'ять для об'єкта та контрольного блоку (лічильник посилань) за один крок. Наприклад:

make_shared.h

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

creating_shared_pointer.h

12
// Also creates a shared pointer to an integer std::shared_ptr<int> p_int(new int(42));

Виділення динамічного цілого числа, а потім передача його до конструктора спільного вказівника. Однак, блок керування (лічильник посилань) буде ініціалізовано всередині конструктора.

Це означає, що ми виконуємо дві окремі ініціалізації, що є неефективним, і помилка може бути згенерована.

Передача Спільних Вказівників

Спільні вказівники спеціально створені для безпечного спільного використання. Давайте розглянемо кілька способів, як ми можемо їх передавати.

question mark

Якщо чотири екземпляри shared_ptr розділяють володіння одним і тим же динамічним об'єктом, коли буде викликано деструктор об'єкта?

Виберіть правильну відповідь

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 2

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Створення та Спільне Використання Спільних Вказівників

Рекомендований підхід

Рекомендований спосіб створення спільного вказівника - це використання функції std::make_shared. Цей підхід зазвичай більш ефективний та виразний у порівнянні з використанням new. Він виділяє пам'ять для об'єкта та контрольного блоку (лічильник посилань) за один крок. Наприклад:

make_shared.h

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

creating_shared_pointer.h

12
// Also creates a shared pointer to an integer std::shared_ptr<int> p_int(new int(42));

Виділення динамічного цілого числа, а потім передача його до конструктора спільного вказівника. Однак, блок керування (лічильник посилань) буде ініціалізовано всередині конструктора.

Це означає, що ми виконуємо дві окремі ініціалізації, що є неефективним, і помилка може бути згенерована.

Передача Спільних Вказівників

Спільні вказівники спеціально створені для безпечного спільного використання. Давайте розглянемо кілька способів, як ми можемо їх передавати.

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 2
some-alt