【发布时间】:2019-06-25 01:09:23
【问题描述】:
我即将创建类,处理双精度的二维向量。我想将向量的向量或双精度的简单向量(如果第二维是 1 个元素宽)传递给构造函数。此外,它是用于编辑基础数据的模态对话框,因此,我通过引用传递向量。
一些我想要实现的参考代码:
class TableEditDialog {
using Table2d = std::vector<std::vector<double>>;
public:
TableEditDialog(Table2d & data) : m_data( data ) {}
TableEditDialog(std::vector<double> & data); // ?
private:
Table2d& m_data;
};
如果传递带有 N 个元素的简单双精度向量,我需要 m_data 是 vector<vector<double>> ,其中包含一个元素的 N 个向量,或者一个包含 N 个元素的向量。
我尝试使用委托构造函数,但没有成功。 我还尝试在第二个构造函数中创建新的临时二维向量,但它打破了通过引用传递来编辑底层数据的想法。
【问题讨论】:
-
什么是一维向量,而不是一个维数为 1 的二维向量?
-
@user4581301,例如:调用者包含
vector<double> = {1, 2, 3},但是当这个数据传递给我的班级时,我希望它被解释为vector<vector<double>> = {{1, 2, 3}}或vector<vector<double>> = {{1}, {2}, {3}}