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。