【发布时间】:2022-01-03 06:11:39
【问题描述】:
我想在不复制类的情况下访问字段。
我有一个存储两个变量的类(这里是简化版)。
在get_cutting_types 方法中,我检查用户输入true 或false 的位置并通过引用将对象传回。但是这里我必须使用=,意思是数据被复制了。
有没有直接传递字段而不重新分配的方法?
class joint
{
std::vector<char> m_letters;
std::vector<char> f_letters;
void get_cutting_types(bool flag, std::vector<char>& letters) {
if (flag) {
letters= m_letters;
} else {
letters= f_letters;
}
}
}
【问题讨论】:
-
这是一个木接缝...
-
在这种情况下,我相信它是。不是吗?
-
@alterigel 我无权访问实际的 ISO C++ 规范 :(
-
get_cutting_types应该返回std::vector<char>&,即对m_boolean_type或f_boolean_type的引用。 -
@PeteBecker,所以实际上写“=”没有副本?
标签: c++ getter-setter