[英]Use String reverse iterator and iterator as same type of object (C++)
我正在嘗試為迭代器和反向迭代器使用相同的變量。 但是,我找不到這樣做的通用基類。 我想做這樣的事情:
string a;
....
string::iterator i;
if (....)
i = a.begin();
else
i = a.rbegin(); //Error
....
有這樣做的好方法嗎?
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;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.