行列の要素にメモリを割り当てる2つの異なる方法を調べました
方法n.1
int** matrix = new int*[rows];
for (int i = 0; i < rows; ++i)
matrix[i] = new int[cols];
方法n.2
int** matrix = new int*[rows];
if (rows)
{
matrix[0] = new int[rows * cols];
for (int i = 1; i < rows; ++i)
matrix[i] = matrix[0] + i * cols;
}
メソッド n.1 が何をするかはわかりますが、メソッド n.2 の if 句が正確に何をするのかわかりません (if 句なしで実装すると、動作しません。します...)
編集:これは私の問題を示すコードです。読み込みに時間がかかるのはなぜですか (~30 秒)?
Codepad は出力を表示することを拒否します (タイムアウト)。実行したい場合は、自分でコンパイルしてください。
また、プログラムが開始されると cout << ステートメントが実行されないのはなぜですか?