将const引用返回给C数组?

Vin*_*ent 8 c++ arrays reference

这是我的示例类:

template<typename T> class MyClassVector
{
    public:
        inline const std::vector<T>& data() const
        {
            return _data;
        }

    protected:
        std::vector<T> _data;
};

template<typename T, unsigned int SIZE> class MyClassArray
{
    public:
        inline const /* SOMETHING */ data() const
        {
            return _data; // OR SOMETHING ELSE
        }

    protected:
        T _data[SIZE];
};
Run Code Online (Sandbox Code Playgroud)

我的问题是:MyClassArray类的MyClassVector data()函数的等价物是什么,它返回对底层_data容器的常量引用?

非常感谢你 !

bit*_*ask 13

有两种方法可以做到:直接和可读:

直接:

inline T const (& data() const)[SIZE] {
  return _data;
}
Run Code Online (Sandbox Code Playgroud)

读:

typedef T Data[Size];
inline Data const& data() const {
  return _data;
}
Run Code Online (Sandbox Code Playgroud)