包含引用另一个矢量内容的矢量的对象
An object containing a vector referring to another vector's content
我的问题很难解释,所以我以场景本身为例:我有一个模板化的矩阵类,它使用 std::vector 作为存储。
我正在寻找的是有一个"行"或"块"方法,能够返回另一个较小大小的矩阵,但引用其父级。
使用这段代码:
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 :我忘了精确,行为应该是递归的,比如得到另一个块的块,等等。
即使正确实现,我认为你的行为也是违反直觉的。
创建一个单独的MatrixRef
类,用作对Matrix
(子集)的引用。这也应该使实施相当简单。
相关文章:
- 引用对象成员函数的成员函数
- 从 Base 引用对象调用派生类的成员
- 转换引用对象的边界框?
- 现代编译器会优化只引用对象子集的局部变量吗
- l值引用对象上的Constexpr成员函数:Clang和gcc不同意
- 将 const 类型引用对象注册为类成员对象C++
- Boost Intervocess:通过迭代通过从结构引用对象的映射进行迭代时
- 无法用2D矢量成员引用对象
- 在由引用对象传递中访问由引用对象传递的变量
- 如何使用QString引用对象名称
- 使用自动迭代器引用对象
- C++ 在另一个对象中引用对象的当前状态
- 使用共享对象和引用对象进行引用计数
- 未显式引用对象的全局对象构造函数在最终二进制文件 - LD 中被丢弃
- 引用对象的动态类型何时可以更改
- 引用对象内部的指针
- C++从全局静态函数中引用对象
- C++如何仅在没有其他人直接或间接引用对象指针时删除该指针
- 如何使用C++引用对象
- 为什么引用对象仅保存特定类型的引用