【发布时间】:2018-10-10 10:53:23
【问题描述】:
我正在尝试对迭代器和反向迭代器使用相同的变量。但是,我找不到这样做的通用基类。 我想做这样的事情:
string a;
....
string::iterator i;
if (....)
i = a.begin();
else
i = a.rbegin(); //Error
....
有什么好的方法吗?
【问题讨论】:
-
不要这样做。它们是两种不同的东西。
-
能否将常用代码提取到模板中?
-
没有通用的基类,所以不行。
-
不要求
iterator和reverse_iterator是兼容的类型。它们也不一定是类,因此可能没有共同的基础。尝试确实有共同的特征/特征。