【问题标题】:testing c++ iterator测试 C++ 迭代器
【发布时间】:2011-10-05 22:11:06
【问题描述】:

我正在为自定义数组类型编写 c++ RandomAccessIterator。 由于它不适用于 std::sort 和简单的 int 数组,因此我想确保我已正确实现它。

您知道那里有任何“迭代器一致性测试”框架吗?

我已经实现了所有可能的功能或operator,一切似乎都是正确的,但是自从sort()取消引用array::end()后我仍然错过了一些东西

【问题讨论】:

  • 我不明白你在说什么sort。它当然不会取消对 end 迭代器的引用,并且没有理由不使用自定义迭代器。
  • @jalf:如果自定义迭代器的比较运算符的实例不能正常工作,如果迭代器之一是end,则可能会发生这种情况。
  • 为什么不发布自定义数组类型的相关部分?
  • @Space_C0wb0y :您能否提示一下该运算符的语义应该是什么?我找不到任何关于它应该如何表现的详细信息,特别是关于 end() 迭代器值(谢谢)
  • @Space_C0wb0y:这是真的。但实际上,说“不正确的代码可能会出现不正确的行为”对任何人来说都不足为奇。 ;)

标签: c++ unit-testing iterator standards-compliance


【解决方案1】:

Boost.Iterator-library 包含用于概念检查的类。

【讨论】:

    猜你喜欢
    • 2013-02-01
    • 2018-09-16
    • 1970-01-01
    • 2018-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-19
    相关资源
    最近更新 更多