gpt4 book ai didi

c++返回对单行矩阵的引用

转载 作者:行者123 更新时间:2023-11-27 23:02:35 24 4
gpt4 key购买 nike

所以我有一个名为 Vector 的结构,如果需要,使用模板允许它具有不同的长度。它包含一个数组来存储 Vector 的元素。

template <class T = float, int N = 3>
struct Vector
{
T data[N];

还有另一个叫做 Matrix,它本质上是一个 Vector,在数据数组中有 N*N 个元素。

template <class T = float, int N = 3>
struct Matrix : public Vector <T, N*N>
{
Matrix() {}

在 Matrix 的一个函数中,我需要将其“行”之一作为 Vector 返回,以便对该 Vector 所做的任何更改也会在 Matrix 的行中更改。

inline Vector<T, N>& operator[](int row)
{
}

我不知道该怎么做。

最佳答案

在我看来,您应该将 Matrix 类更改为“vector 的 vector ”而不是单个线性 vector :

struct Matrix : public Vector <Vector<T, N> , N>

现在,假设为 Vector 正确实现了 operator[],您将免费获得所需的行为。

关于c++返回对单行矩阵的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26270495/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com