参考类成员的constness

Art*_*syn 2 c++ const

我有几个类,其中一个继续引用其他的对象:

class Inner {};

class Outer {
    Inner & in;

public:
    Outer(Inner & in) : in(in) {}
};
Run Code Online (Sandbox Code Playgroud)

如果我必须从const引用到Inner创建外部对象怎么办?为了这个,我是否必须为OuterConst写特定的课程?

UPD:使用模板的任何简洁解决方案?为了避免在OuterConst类中重复代码.

UPD2:当Inner没有const时,它应该是可修改的(所以我不能在当前的Outer实现中将const添加到Inner成员).

Pup*_*ppy 6

如果我必须从const引用到Inner创建外部对象怎么办?

好吧,你做不到.这就是它.如果Outer只需要调用Inner的const成员函数,那么使它成为const引用 - 否则,你的类依赖于一个可变的Inner对象,你不应该从const引用创建一个Outer对象.