相关疑难解决方法(0)

如何正确实现自定义迭代器和const_iterators?

我有一个自定义容器类,我想写它iteratorconst_iterator类.

我之前从未这样做过,但我找不到合适的方法.关于迭代器创建的指导原则是什么,我应该注意什么?

我也想避免代码重复(我觉得const_iteratoriterator分享很多东西;应该是另一个子类吗?).

脚注:我很确定Boost有什么可以缓解的,但我不能在这里使用它,因为很多愚蠢的原因.

c++ iterator const-iterator

217
推荐指数
8
解决办法
17万
查看次数

正在弃用的std :: iterator的准备工作

3月21 ,标准委员会投票赞成批准P0174std::iterator提议的弃用:

对于读者而言,很长的void参数序列不仅仅是简单地typedef在类定义本身中提供预期的s,这是当前工作草案采用的方法,遵循设置的模式

之前std::iterator,鼓励继承从迭代器样板实现中删除乏味.但弃用将需要以下其中一项:

  1. 迭代器样板现在需要包含所有必需的typedefs
  2. 使用迭代器的算法现在需要使用auto而不是依赖于迭代器来声明类型
  3. 洛基阿斯塔曾建议std::iterator_traits,可以更新,而继承工作std::iterator

有人可以告诉我我应该期待哪些选项,因为我设计了自定义迭代器,着眼于兼容性?

c++ standards iterator deprecated c++17

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

使用基于范围的 for 循环自定义容器遍历

在 C++ 中,一些 STL 容器,如 vector、map、string 可以被带有冒号的 for 循环遍历。

例如:

for(auto c:v)

当我在编写自定义容器时,我可以让它像 Java 那样遍历(只需要实现 Iterable)?

c++ traversal c++11

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