그래서 필요한 경우 다양한 길이를 가질 수 있도록 템플리트를 사용하여 Vector라는 구조체가 있습니다. Vector의 요소를 저장하는 배열을 포함합니다.C++ 행렬의 단일 행에 대한 참조 반환
template <class T = float, int N = 3>
struct Vector
{
T data[N];
및 또 다른 매트릭스는 데이터 배열에서 N * N 요소를 가진 벡터입니다. 매트릭스의 기능 중 하나에서
template <class T = float, int N = 3>
struct Matrix : public Vector <T, N*N>
{
Matrix() {}
는, 그 벡터에 대한 변경도 매트릭스의 행 변경되도록 벡터로는 "행"중 하나를 반환해야합니다.
inline Vector<T, N>& operator[](int row)
{
}
어떻게해야할지 모르겠다.
해당 행의 첫 번째 요소를 가리키는 포인터를 가리키는 포인터를 반환 할 수는 있지만 사용자의 취향에 맞지 않을 수 있습니다. 대신에'Matrix' 객체에 대한 참조를 포함하는'Matrix :: Row' 클래스를 가질 수 있으며, 그 행까지 인덱스하는'operator []'를 가질 수 있습니다. – cdhowie
@cdhowie 반환 형식이 Vector &이 될 필요가 있다고 언급해야합니다. 그것은 숙제를위한 것이지만, 나는 이것을 어떻게하는지를 기억할 수 없습니다. –
Sizdian
'struct Matrix : public Vector'이 필요하거나 이것을 변경할 수 있습니까? –