class A{ float a[2][2];public: float (&value())[2][2]{return a;}}main(){A a;float (&b)[2][2] = a.value;}
inline value(int i,int j) {return a[i][j];}
typedef float Array_2x2[2][2];class A{ Array_2x2 a;public: Array_2x2 &value() { return a; }};int main(){ A a; cout << "a[1][1]=" << a.value()[1][1] << endl; Array_2x2 &b = a.value(); b[1][1] = 5; cout << "b[1][1]=" << b[1][1] << endl; cout << "a[1][1]=" << a.value()[1][1] << endl; return 0;}
typedef float Array_2x2[2][2];