【发布时间】:2020-02-26 05:25:12
【问题描述】:
我使用的是 GCC 6.2.0,它默认使用 C++14。在未来的某个时候,我们希望迁移到 C++17。我想在我们的一些类中添加一些 C++ 迭代器,但它们在 C++14 和 C++17 之间发生了变化。如果我现在写它们,我以后升级编译器版本时是否必须重写它们,或者有没有办法现在写一次并让它们向前兼容?
【问题讨论】:
-
我不太明白。以指针为例,它们一直是并且将永远是“兼容的”迭代器
-
您能否给出一个您认为需要更改的 C++14 迭代器的具体示例?您是否正在考虑使用 std::iterator 并担心它会被弃用?由于您还没有编写迭代器,所以不要使用
std::iterator。 C++14 不需要它。