【发布时间】:2011-01-15 02:22:50
【问题描述】:
美好的一天,
假设我正在用 C++ 编写一个类似 Python 的范围。它提供了随机访问容器的所有特性(当然是不可变的)。关于以下情况,我想到了一个问题:
我有两个不同的迭代器,它们指向范围容器的 不同 实例。问题是这两个范围相等。即它们代表相同的范围。您是否允许以下情况:
fact: range1 == range2 e.g.
---------------------------
range range1(10, 20, 1), range2((10, 20, 1);
range::iterator i = range1.begin(), j = range2.begin();
assert(i == j); // would you allow this?
对不起,如果我在 STL 中遗漏了一个简单的设计规则 :)
【问题讨论】: