2

私はC ++で汎用マトリックス構造体を作成しようとしていますが、今のところ私が持っているのは

struct matrix{
    int cells[dim][dim];
}

dim は const int です。

ただし、さまざまなサイズの行列を宣言できるように、物事をもう少し動的にしたいと考えています。すべてを int ベクトルのベクトルに変換することでこの問題を回避できますが、その後、速度が大幅に低下します。

4

3 に答える 3

0

すべてを int ベクトルのベクトルに変換することでこの問題を回避できますが、大幅な速度低下が発生します。

フェイク。それは間違っています。 std::vector生の配列とほぼ同じくらい高速です。使用してくださいvector<vector<int> >


ただし、まだ生の配列を主張する場合:

int **p = new int *[rows];
for (size_t i = 0; i < rows; i++)
    p[i] = new int[columns];

解放:

for (size_t i = 0; i < rows; i++)
    delete [] p[i];

delete [] p;
于 2013-07-27T15:18:01.210 に答える