c++ shared pointer operator bool

#include <iostream>
#include <memory>

int main() {
    std::shared_ptr<int> ptr = std::make_shared<int>(42);

    if (ptr) {
        std::cout << "Pointer is valid." << std::endl;
    } else {
        std::cout << "Pointer is null." << std::endl;
    }

    ptr.reset();

    if (ptr) {
        std::cout << "Pointer is valid." << std::endl;
    } else {
        std::cout << "Pointer is null." << std::endl;
    }

    return 0;
}