A类有一个可以共享的对象,但只能在内部修改
class A
{
public:
validityClass ** getValidityShared() // I want to make this const return, not sure how to protect a double pointer const signeture
{
return &validityShared;
}
private:
validityClass * validityShared;
}
B 类需要通过其构造函数访问、读取以进行验证或 B 类填充
class B
{
B(A & ainst)
{
aValidityShared = ainst.getValidityShared();
}
private:
validityClass ** aValidityShared;/// tried to save it as validityClass ** & aValidityShared but I guess its wrong, even though everything worked out
}
B 构造函数结束后,我不再需要了解 A 类的任何信息!
int main(int argc, char* argv[])
{
A instA;
B(&instA);
return EXIT_SUCCESS;
}
我希望 B 实例拥有 A 共享变量,但没有任何额外资源,因此我尝试将其保存为 rValue。
- 你有什么建议吗?(在内部保存为 rvalue 或 const (double const))
- 双指针的 const 保护如何?
- 还是永远不要将其保存在内部?
顺便说一下,这个例子与我使用的略有不同,但它是相同的上下文
我问这个问题是因为我收到了一些奇怪的警告:
member initializers for
const char ** classB::xVar`