Cplusplus.com shared_ptrсторінка волає відмінність між порожнім std::shared_ptr і в нулі shared_ptr . Сторінка cppreference.com явно не називає відмінності, але використовує як "порожній", так і порівняння для nullptrопису std::shared_ptrповедінки.
Чи існує різниця між порожнім і нульовим значенням shared_ptr? Чи існує варіант використання таких покажчиків із змішаною поведінкою? Чи shared_ptrмає сенс не пуста нуль ? Чи коли-небудь був би випадок у звичайному використанні (тобто, якщо ви не створили його явно), коли ви могли б отримати в результаті порожній, але не нульовий shared_ptr?
І чи змінюється будь-яка з цих відповідей, якщо ви використовуєте версію Boost замість версії C ++ 11?
shared_ptrекземпляр із збереженим показником, що не є НУЛЬНИМ." Також варто згадати попередню примітку (p15), "Щоб уникнути можливості звисання вказівника, користувач цього конструктора повинен забезпечити збереженняpчинності принаймні до тих пір, поки група власника неrбуде знищена." Дійсно рідко використовувана конструкція.