【发布时间】:2015-03-29 04:49:12
【问题描述】:
我正在尝试创建一个包含另一个类作为引用(私有成员)的类。
class example{
private:
std::vector<char> chars;
};
class example2{
example2(example to_be_initialized) :ref(to_be_initialized) { }
private:
example& ref;
};
希望缺少细节不会让任何人感到困扰(我知道你们喜欢看完整的代码,但我减少了它,因为如果这不是问题,那是我必须弄清楚的其他问题。但我会发布更多/其余的(如果需要),但我的代码与此非常相似,在做任何涉及 ref 的事情时我会得到奇怪的 unicode 字符。一旦我将 ref 更改为非引用,所有奇怪的未定义行为都消失了。
我想知道以上内容是否合法,仅供将来参考。我知道在这种情况下我不会通过引用类来节省大量内存(因为它只是复制指针,对吗?),但我觉得将来有必要这样做。
提前致谢。
【问题讨论】:
标签: c++ class reference initialization