LINUX.ORG.RU

проверка на сушесвования vector<T>::iterator


0

0

допустим такой код

#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

main(){
    vector<int> v;
    vector<int>::iterator it;

    for(int i=2;i < 15;i++)
	    v.push_back(i);
	
    it = find(v.begin(),v.end(),17);
}

как проверить найден элемент или нет? проверка вида if(it != NULL) непрокатывает.
anonymous

Re: проверка на сушесвования vector<T>::iterator

if (it != v.end())

{

cout << "Number " << (*it) << " found." << endl;

}

else

{

cout << "Number not found." << endl;

}

А вообще - хотя бы что-нибудь почитай по STL...

amorphis ()

Re: проверка на сушесвования vector<T>::iterator

Смесь С с С++ ? в C++ нет дефолтового типа возврата, поэтому main() надо заменить на int main(). В С++ принято вместо NULL использовать 0.

Теперь по делу. Проверять надо не на 0, а на v.end(). Советую почитать книгу Степанова по STL

Reset ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.