gpt4 book ai didi

c++ - 带有 std::vector<>.push_back(...) 的 Getters/Setters

转载 作者:太空狗 更新时间:2023-10-29 19:59:30 25 4
gpt4 key购买 nike

出于某种原因,这不起作用。它会编译文件,但在使用 getter 时不会向此 vector 添加任何项目。

例如

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)) 它会起作用,但如果我用 setter/getter 将它拉出来,它不会添加任何东西。

最佳答案

如果您打算修改它,则通过引用返回 vector :

inline std::vector<int> &get_numbers() { return m_numbers; }  
^

如果没有符号,则返回一个拷贝

关于c++ - 带有 std::vector<>.push_back(...) 的 Getters/Setters,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12851516/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com