C++ 将迭代器返回到向量的函数
为下面的代码返回迭代器的最佳方式是什么?在下面的代码中,它没有为此行提供正确的输出C++ 将迭代器返回到向量的函数,c++,vector,iterator,C++,Vector,Iterator,为下面的代码返回迭代器的最佳方式是什么?在下面的代码中,它没有为此行提供正确的输出 cout<<*p<<endl; cout您正在通过值将对象传递给int\u begin()。返回的是一个std::vector的迭代器,该迭代器不存在于函数调用之后。因此,在调用函数中,迭代器无效 通过引用传递对象 vector <int> :: iterator int_begin(vector <int>& V) // Passed by refere
cout<<*p<<endl;
cout您正在通过值将对象传递给int\u begin()
。返回的是一个std::vector
的迭代器,该迭代器不存在于函数调用之后。因此,在调用函数中,迭代器无效
通过引用传递对象
vector <int> :: iterator int_begin(vector <int>& V) // Passed by reference
{
cout<<*V.begin()<<endl;
return V.begin();
}
vector::迭代器int\u begin(vector&V)//通过引用传递
{
您是否返回了一个临时向量的迭代器。@BODAPATINIRUPAMASAI,不客气。很高兴我能提供帮助。
vector <int> :: iterator int_begin(vector <int>& V) // Passed by reference
{
cout<<*V.begin()<<endl;
return V.begin();
}