用户定义容器的索引类型

时间:2013-11-02 21:59:31

标签: c++

我正在用C ++编写矩阵类;我应该将哪种类型用于矩阵的索引?也就是说,在以下代码中:

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

INDEX_TYPE应该是什么?如果矩阵限制为小尺寸,我应该使用可能更小的整数类型吗?

1 个答案:

答案 0 :(得分:1)

类型应该是无符号的,整数作为索引(这不是一般建议)。因此,与标准类型兼容的std::size_t是合适的。

  

std :: size_t可以存储任何类型(包括数组)理论上可能的对象的最大大小。

     

std :: size_t通常用于数组索引和循环计数。

小尺寸类型对您没有任何重大好处。你有记忆限制吗?我不这么认为。