我理解第一个getter方法是什么,但是我无法看到第二个方法究竟做了什么。
class myItems{
public:
typedef std::vector<Items> items_t;
private:
items_t items;
public:
//1: items_t getItems(void) const { return items; }
//2: const items_t & getItems(void) const { return items; }
};
任何解释或任何文档的链接都会有所帮助,谢谢。
编辑:
给出这个循环:
for (myItems::classes_t::const_iterator it = myItemsInstance.getItems().begin(); it != myItemsInstance.getItems().end(); it++)
{
//....
}
我不明白为什么它使用第一个吸气剂无限循环,而它没有使用第二个吸气剂。
答案 0 :(得分:0)
第一个函数返回可以自由操作或编辑的成员变量项的副本,而第二个函数将返回对无法操作的items变量的常量引用。第一个const规定不能操纵返回的值,第二个规定函数不能编辑myItems类的成员变量。