Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
445 views
in Technique[技术] by (71.8m points)

c++ - How to check whether the iterator hit the end without container?

For example, how to implement the following function without any other information?

bool isEnd(set<int> :: iterator itr);

I know I can do it like this, but how to do it without input variable "s"?

bool isEnd(const set<int> &s, set<int> :: iterator itr) {
    return itr == s.end();
}
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You do not.

A range is two iterators, and you should almost always be working on a range when you are moving iterators around.

Containers are also ranges, so you can carry the container around instead, but usually you do not need the full container.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...