我想创建一个返回令牌并递增此令牌的方法。
我这样做了:
_tokens是一个std :: istream_iterator
std::string getToken()
{
std::string result;
result = *_tokens;
++_tokens;
return result;
}
如你所见,这有点难看,因为我要寄回一份副本。
但我无法返回结果的引用,因为结果是局部变量。
我无法获得* _tokens的引用因为++ _令牌会改变内容。
你知道我怎么能以更好的方式做到这一点吗?
答案 0 :(得分:3)
我认为你的意思是以下
std::string getToken()
{
return *_tokens++;
}