这里提出了一个类似的,也许是相同的问题: force const storage of returned by value value
然而,大部分讨论都集中在“你为什么要这样做?”
假设我有结构 A 和 B,它们都包含一个 shared_pointer。现在我有 C 类。C 类包含 A 的实例。C 有一个 const 方法 getB(),它返回一个 B 类型的对象,该对象是在此刻创建的,并且包含 A 的 shared_pointer 的副本。但是,我想调用 getB() 的人无法修改 B 的内容,尤其是 shared_pointer 指向的内存区域。
在我的用户案例中,我无法修改 A 类和 B 类(恰好是 Opencv 的 IplImage 和 cv::Mat)
获得我的目标以返回新创建的唯一方法是B const *
什么?(在这方面,这是一个非常有用的答案)