1

C++ で行列クラスを作成しています。マトリックスへのインデックスにはどのタイプを使用すればよいですか? つまり、次のコードで:

template <class elem_type>
class matrix
{
public:
  // snip
  elem_type const &operator()(INDEX_TYPE row, INDEX_TYPE column) const;
};

INDEX_TYPE は何ですか? 行列が小さなサイズに制限されている場合、潜在的に小さい整数型を使用する必要がありますか?

4

1 に答える 1

1

型は符号なしで、インデックスとして整数でなければなりません (これは一般的なアドバイスではありません)。そのstd::size_tため、標準タイプと互換性のあるものが適しています。

std::size_t は、任意の型 (配列を含む) の理論的に可能なオブジェクトの最大サイズを格納できます。

std::size_t は、一般的に配列のインデックス付けとループ カウントに使用されます。

小さいサイズのタイプは、あなたにとって大きな利点はありません。メモリ制限はありますか?私はそうは思わない。

于 2013-11-02T22:16:46.233 に答える