[英]Getters/Setters with std::vector<>.push_back(…)
出于某种原因,这不起作用。 它编译文件,但在使用getter时没有任何项添加到此向量中。
例如
class class_name {
public:
inline std::vector<int> get_numbers() { return m_numbers; }
private:
std::vector<int> m_numbers;
}
....
{
class_name number_list;
number_list.get_numbers().push_back(1);
}
如果我直接这样做(m_numbers.push_back(1))它可以工作,但如果我用一个getter把它拉出来它就不会添加任何东西。
如果您打算修改它,请按引用返回向量:
inline std::vector<int> &get_numbers() { return m_numbers; }
^
如果没有&符号,则返回副本 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.