C++ reset对指针影响

   2024-10-06 5760
核心提示:在C++中,reset()函数用于将指针重置为nullptr或者指向另一个对象。当调用reset()函数时,原来指针所指向的对象会被释放,然后指

在C++中,reset()函数用于将指针重置为nullptr或者指向另一个对象。当调用reset()函数时,原来指针所指向的对象会被释放,然后指针会被重置为nullptr或者指向新的对象。

例如:

#include <iostream>#include <memory>int main() {    std::shared_ptr<int> ptr(new int(10));    std::cout << *ptr << std::endl; // 输出 10    ptr.reset(new int(20));    std::cout << *ptr << std::endl; // 输出 20    ptr.reset();    if (ptr == nullptr) {        std::cout << "ptr 已重置为 nullptr" << std::endl;    }    return 0;}

在上面的示例中,通过reset()函数将指针ptr的值重置为了一个新的int对象的地址,然后再次调用reset()将指针ptr重置为nullptr。reset()函数会释放原来指针所指向的对象,所以在调用reset()之后,原来指针所指向的对象会被销毁。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号