1

全部

用迭代器写了一些花哨的容器。所以我有

iterator begin() {
}

iterator end() {
}

const_iterator begin() const {
}

const_iterator end() const {
}

在测试中,我实例化容器,填充并测试它。调用 const 和非 const 版本的公认/好方法是什么?说,简单的测试

TEST( c.end() - c.begin() == c.size() );

应该为迭代器和 const 迭代器运行。常量参考?一些丑陋的演员?

4

2 回答 2

5

我只想对它做一个 const& :

const container& constC= c;
TEST(constC.end() - constC.begin() == constC.size());
于 2016-07-29T01:18:42.860 回答
1

我认为按照std惯例,不重载它们是一个更好的解决方案。

声明cbegin()cend()而不是。

于 2016-07-29T01:15:39.053 回答