Чи може спільний ptr бути постійним?

0 Comments 22:23

Передайте shared_ptr за посиланням або константним посиланням. У цьому випадку кількість посилань не збільшується, і абонент може отримати доступ до вказівника, доки абонент не виходить за межі області видимості.20 березня 2024 р.

std::shared_ptr складається з блоку керування та його ресурсу. Блок керування є потокобезпечним, але доступ до ресурсу – ні. Це означає зміна лічильника посилань є атомарною операцією і ви маєте гарантію, що ресурс буде видалено рівно один раз. Це гарантії, які вам надає std::shared_ptr.

std::unique_ptr<T> Унікальний покажчик не поділяє право власності та звільняє ресурс у кінці області. std::shared_ptr<T> Спільний вказівник має спільну власність і звільняє ресурс лише тоді, коли немає інших підрахованих власників і він досяг кінця області.

Об’єкт shared_ptr фактично містить вказівник на ресурс, яким він володіє, або містить нульовий вказівник. Ресурс може належати більш ніж одному об’єкту shared_ptr; коли останній об’єкт shared_ptr, який володіє певним ресурсом, знищується, ресурс звільняється.

Покажчик, за допомогою якого не можна змінити значення змінної, на яку він вказує, називається вказівником на константу. Постійний вказівник на константу — це вказівник, який не може змінити адресу, на яку він вказує, і не може змінити значення, що зберігається за цією адресою.

У C++ std::shared_ptr є потужним інструментом, який можна використовувати для керування спільним правом власності на ресурси. Однак важливо це пам'ятати std::shared_ptr сам по собі не є потоково безпечним. Щоб забезпечити безпеку потоку, вам потрібно використовувати його разом із примітивом синхронізації, таким як м’ютекс.

Related Post

Скільки тижнів у семестрі Purdue?Скільки тижнів у семестрі Purdue?

Навчальний рік складається з двох 16-тижневий семестрів. Літні сесії можуть складатися з однієї 4-тижневої та однієї 8-тижневої або двох 6-тижневих або інших конфігурацій, затверджених офісом ректора. У кожному семестрі/сесії заняття

Що говорить EYFS про планування?Що говорить EYFS про планування?

Фактично, ключове повідомлення від EYFS таке:Усе планування починається зі спостереження за дітьми, щоб зрозуміти та врахувати їхні поточні інтереси, розвиток та навчання' (Сприятливе середовище 3.1). 3 лютого 2009 р EYFS