我读过 C++ 中的默认行为始终是复制。所以我猜测数据成员上的 get 函数也会返回数据成员的副本。
通常这可以正常工作,但在这种情况下,我的一个数据成员是一个多图。这就是我现在所拥有的:
class Track {
private:
multimap<long, Note> noteList;
public:
multimap<long ,Note> getNoteList()
{
return noteList;
}
}
但由于某种原因,这不起作用。当我打电话时getNoteList()
,我没有收到任何错误,但控制台中的程序输出停止(当我运行我的应用程序时)。如果我noteList
公开一切正常。
与 multimap 相比,int、char、float 等常规类型有什么区别吗?为什么这不起作用的任何原因我如何编写一个有效的getter函数?