C++ C++;共享结构——良好做法

C++ C++;共享结构——良好做法,c++,struct,constants,shared-ptr,C++,Struct,Constants,Shared Ptr,我有一个从JSON文件读取的结构(可能很重) 这个结构是从我使用的各种类对象中使用的。 我关注的是: 我应该如何将这个结构传递给构造函数,以便他们能够(仅)读取它?同时避免复制数据 我第一次发现自己将原始指针传递给结构,有人看到了我的代码,告诉我无论何时触摸原始指针都要拍手 那么,这样做的适当方式是什么?推荐人?共享\u ptr?首先,打那个人的脸。原始非拥有指针没有任何错误 对于您的特定情况,最好使用const引用,甚至可能更为惯用,具体取决于您的实际代码。尚未看到代码,无法详细说明您的具体情

我有一个从JSON文件读取的结构(可能很重)

这个结构是从我使用的各种类对象中使用的。 我关注的是:

我应该如何将这个结构传递给构造函数,以便他们能够(仅)读取它?同时避免复制数据

我第一次发现自己将原始指针传递给结构,有人看到了我的代码,告诉我无论何时触摸原始指针都要拍手


那么,这样做的适当方式是什么?推荐人?共享\u ptr?

首先,打那个人的脸。原始非拥有指针没有任何错误


对于您的特定情况,最好使用const引用,甚至可能更为惯用,具体取决于您的实际代码。尚未看到代码,无法详细说明您的具体情况。

const reference。@谢谢,我可以拥有一个const ref类成员,对吗?我可能想跳过打我的管理器的部分,但谢谢,我可以使用此const ref初始化一个const ref struct类成员,对吗?是的,您可以这样做。实际上我不会,因为const引用可以绑定到临时对象,所以您将保留对临时对象的引用。对于任何超出呼叫站点的内容,我都会使用指针,我所有的对象都生活在一种主函数调用中。我想说,原始指针的问题是,如果指向的对象被删除,而其他代码仍然可以访问它,它们可能会成为悬挂指针。我选择使用智能指针,从那以后就没有任何悬挂引用(或内存泄漏)的问题。