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();
}