C++整数类的范围 - 可供选择的迭代器类型

C++ Range of integer class - kind of Iterator to choose

本文关键字:选择 迭代器 类型 整数 范围 C++      更新时间:2023-10-16

这是范围类:

template <typename T>
class Range
{
public:
  class iterator;
  Range(T low, T high) : low_(low), high_(high)
  {
  }
  const iterator begin() const
  {
    return iterator(low_);
  }
  const iterator end() const
  {
    return iterator(high_);
  }
};

迭代器之王(前向、随机、输入)最好选择?

你可以提供任何类型的迭代器,包括如果你希望一个随机迭代器,只要你不允许从operator*operator->修改迭代器状态。也就是说,如果您将计数保留在迭代器中,则operator*应返回一个T(值)并operator->一个T const *,以便无法通过这些运算符修改迭代。

@K-ballo 是正确的,随机是最好的方法,但取决于算法。你能,也描述一下吗?