C ++ vector <vector <double>&gt;使用typename别名

时间:2017-06-20 22:17:30

标签: c++ matrix

我是c ++的新手并尝试正确设置矩阵。我的数据将有一个未知数量的行,但将有6列,我正在考虑使用矢量&gt;或者提升多阵列包装。我可以设置类似的东西:

template<size_t t>

using Matrix <t> = vector<vector<double>> m(t, vector<double>(6))

或者这不起作用/不合适/不建议?

1 个答案:

答案 0 :(得分:0)

您可以执行以下操作:

#include <iostream>
#include <array>
#include <vector>

template< typename T, size_t n >
using Matrix = std::vector< std::array< T, n > >;

typedef Matrix< double, 6 > SpecificMatrix;

int main()
{
  SpecificMatrix my_matrix(10);
  double x = 0;

  for (auto &a : my_matrix)
    for (auto &b : a)
      b = (x += 1.0);

  std::cout << "My thingy:" << std::endl;

  for (auto &a : my_matrix)
  {
    for (auto &b : a)
      std::cout << b << " ";

    std::cout << std::endl;
  }

  return 0;
}