std::shared_ptr::operator bool — cppreference.com
Материал из cppreference.com
<tbody> </tbody>
|
|
||
Проверяет, хранит ли *this ненулевой указатель, то есть get() != nullptr.
Параметры
(нет)
Возвращаемое значение
true, если *this хранит указатель, false иначе.
Примечание
Пустой shared_ptr (где use_count() == 0) может хранить ненулевой указатель, доступный с помощью get(), например если он был создан с помощью конструктора псевдонимов.
Пример
#include <iostream> #include <memory> void report(std::shared_ptr<int> ptr) { if (ptr) { std::cout << "*ptr=" << *ptr << "\n"; } else { std::cout << "ptr не является допустимым указателем.\n"; } } int main() { std::shared_ptr<int> ptr; report(ptr); ptr = std::make_shared<int>(7); report(ptr); }
Вывод:
ptr не является допустимым указателем. *ptr=7
Смотрите также
| возвращает хранимый указатель (public функция-элемент) [править] |