gpt4 book ai didi

c++ - 包含引用另一个 vector 内容的 vector 的对象

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:23:14 29 4
gpt4 key购买 nike

我的问题很难解释,所以我将以场景本身为例:我有一个模板化的 Matrix 类,它使用 std::vector 作为存储。

我正在寻找的是有一个“行”或“ block ”方法,能够返回另一个尺寸较小的矩阵,但指的是它的父矩阵。

使用这段代码:

Matrix<float> mat(2, 2);
// Filling the matrix
Matrix<float> row = mat.row(0); // returns a 1x2 matrix(row vector)
row[1] = 10; // Here I modify the row, which reflects the modifications in mat
std::cout << mat(0, 1); // prints 10

我一直在考虑多种解决方案,但它们都有一些不可忽视的缺点。您对如何实现这一目标有任何想法吗?谢谢!

编辑 1:我忘记说得更准确了,这个行为应该是递归的,比如获取另一个 block 的 block ,等等。

最佳答案

即使实现正确,我认为您的行为也是违反直觉的。

制作一个单独的 MatrixRef 类作为对 Matrix(的子集)的引用。这也应该使实现相当简单。

关于c++ - 包含引用另一个 vector 内容的 vector 的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29952650/

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