通过引用获取std :: list

Gra*_*ton 2 c++

我有一个Poly3DC++类,它有一个唯一的成员:list<Point_3>

using namespace std;

struct Poly3D
{
public:
    Poly3D(const list<Point_3> &ptList);


private:
    list<Point_3> ptList;

};
Run Code Online (Sandbox Code Playgroud)

我的问题是,如何通过引用获取(在C#意义上),以便每次访问时都返回相同的副本Poly3D.ptList

Oli*_*rth 5

如果你真的想提供对它的直接访问list,那么只需编写一个通过引用返回的getter:

struct Poly3D
{
public:
    ...

    list<Point_3> &getList()
    {
        return ptList;
    }

...
};
Run Code Online (Sandbox Code Playgroud)

但如果你这样做,你也可以成为list会员public吧!