我有一个类,其成员定义为:
float U[2][2];
现在我有一个访问器函数,我想返回对这个数组的引用。所以,我有类似的东西:
const float & [2][2] mat() const
{
return U;
}
有没有办法使用这种语法而不是指针语法来返回它(我认为它使事情更明确)。
答案 0 :(得分:2)
这很尴尬,但是:
const float (&mat() const)[2][2]
{
return U;
}
使用typedef或decltype
可能会更好,例如:
const decltype(U) &mat() const { return U; }
或:
using mat22 = float[2][2];
const mat22 &mat() const { return U; }
(后者是Daniel H.在评论中提出的)。
或者,在C ++ 14中,甚至只是:
const auto &mat() const { return U; }