相关疑难解决方法(0)

C++迭代器被认为有害吗?

在今天的Boost图书馆会议上,"现代C++设计"和Loki C++库的作者Andrei Alexandrescu发表了题为"Iterators Must Go"(视频,幻灯片)的演讲,讲述了为什么迭代器不好,他有一个更好的解决方案.

我试着阅读演示幻灯片,但我无法从中得到很多.

  1. 迭代器坏了吗?
  2. 他的替代品真的更好吗?
  3. C++实现者会接受他的想法吗?

c++ iterator language-design

47
推荐指数
2
解决办法
1万
查看次数

如何删除const_iterator的constness?

作为扩展到这个问题const_iterators更快?,我有另一个问题const_iterators.如何删除一个常量const_iterator?虽然迭代器是指针的通用形式,但仍然const_iteratoriterators是两个不同的东西.因此,我相信,我也不能用来const_cast<>转换const_iteratoriterators.

一种方法可能是您定义一个迭代器,该迭代器将元素移动到该const_iterator点的元素.但这看起来像是一个线性时间算法.

对于实现这一目标的最佳方法有什么想法吗?

c++ iterator stl const-iterator

43
推荐指数
3
解决办法
2万
查看次数

const_iterators更快吗?

我们的编码指南更喜欢const_iterator,因为它们比正常情况下快一点iterator.看起来编译器会在您使用时优化代码const_iterator.

这真的是对的吗?如果是的话,内部真正发生的事情会变得const_iterator更快吗?

编辑:我写了一个小测试来检查const_iteratorvs iterator,发现不同的结果:

对于迭代10,000个对象const_terator,花费几毫秒(大约16毫秒).但并非总是如此.有两次相等的迭代.

c++ iterator stl const-iterator

35
推荐指数
6
解决办法
1万
查看次数

标签 统计

c++ ×3

iterator ×3

const-iterator ×2

stl ×2

language-design ×1