我正在用C ++编写矩阵类;我应该将哪种类型用于矩阵的索引?也就是说,在以下代码中:
template <class elem_type>
class matrix
{
public:
// snip
elem_type const &operator()(INDEX_TYPE row, INDEX_TYPE column) const;
};
INDEX_TYPE应该是什么?如果矩阵限制为小尺寸,我应该使用可能更小的整数类型吗?
答案 0 :(得分:1)
类型应该是无符号的,整数作为索引(这不是一般建议)。因此,与标准类型兼容的std::size_t
是合适的。
std :: size_t可以存储任何类型(包括数组)理论上可能的对象的最大大小。
std :: size_t通常用于数组索引和循环计数。
小尺寸类型对您没有任何重大好处。你有记忆限制吗?我不这么认为。