当前位置:   article > 正文

c++ 智能指针shared_ptr与make_shared

c++ 智能指针shared_ptr与make_shared

shared_ptr是C++11引入的一种智能指针,‌它允许多个shared_ptr实例共享同一个对象,‌通过引用计数来管理对象的生命周期。‌当最后一个持有对象的shared_ptr被销毁时,‌它会自动删除所指向的对象。‌这种智能指针主要用于解决资源管理问题,‌避免内存泄漏。‌

make_shared是C++标准库中的一个函数,‌用于创建一个shared_ptr智能指针,‌它接受一个或多个参数来构造一个对象,‌并返回一个指向该对象的shared_ptr。‌这个函数内部会动态分配对象,‌并初始化一个shared_ptr来管理这个对象的生命周期

 std::shared_ptr<SerialModbus> serial_modbus_ptr;

serial_modbus_ptr = std::make_shared<SerialModbus>();

serial_modbus_ptr可访问类SerialModbus的成员指针

 

---------------------------------------------------------------------------------------------------------------------------------

std::shared_ptr<SerialModbus> serial_modbus_ptr;

serial_modbus_ptr = std::shared_ptr<SerialModbus>();

serial_modbus_ptr不可访问类SerialModbus的成员指针

引发了异常: 读取访问权限冲突。
this 是 nullptr。

 

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
  

闽ICP备14008679号