Sid*_*ant 1 c++ string iterator
我试图为迭代器和反向迭代器使用相同的变量.但是,我找不到共同的基类来这样做.我想做这样的事情:
string a;
....
string::iterator i;
if (....)
i = a.begin();
else
i = a.rbegin(); //Error
....
Run Code Online (Sandbox Code Playgroud)
有这样做的好方法吗?
没有常见的类型std::string::iterator和std::string::reverse_iterator.
如果要在它们之间进行选择,则需要为每种类型使用不同的功能.最简单的方法是使用模板
例如
template <typename Iterator>
void do_stuff(Iterator begin, Iterator end)
{
...
}
int main()
{
string a;
if (...)
do_stuff(a.begin(), a.end());
else
do_stuff(a.rbegin(), a.rend());
return 0;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
91 次 |
| 最近记录: |