定义三种变量类型:
①soa_messages::msg::BasicInfo::SharedPtr g_last_BasicInfo_1;
②soa_messages::msg::BasicInfo g_last_BasicInfo_2;
③auto g_last_BasicInfo_3= soa_messages::msg::BasicInfo();
实质上g_last_BasicInfo_2与g_last_BasicInfo_3是一致的,g_last_BasicInfo_1是指针类的。
★场景一:把变量1赋值给变量3:
g_last_BasicInfo_3= *g_last_BasicInfo_1.get();
★场景二:把变量3赋值给变量1:【需要用std::shared_ptr包装一下变量3】
g_last_BasicInfo_1= std::shared_ptr<soa_messages::msg::BasicInfo>(&g_last_BasicInfo_3);
★场景三:变量2与变量3可以直接赋值:
g_last_BasicInfo_3 = g_last_BasicInfo_2;
g_last_BasicInfo_2 = g_last_BasicInfo_3;

本文探讨了三种不同类型的变量定义方式,并详细解析了它们之间的赋值操作。特别是对于智能指针与普通对象间的相互赋值进行了说明,包括如何通过get()方法解引用智能指针及使用std::shared_ptr重新包装对象。
1426

被折叠的 条评论
为什么被折叠?



