怎么定义函数 能传递 vector 对象 为参数
4个回答
2008-09-24
展开全部
可以直接传递vector类型的参数:
//---------------------------------------------------------------------------
#include <iostream>
#include <vector>
using namespace std;
void cv(vector<int> a)
{
vector<int>::iterator itp=a.begin();
while (itp!=a.end() )
cout<<*itp++<<endl;
}
int main(void)
{
vector<int> b;
b.push_back(6);
b.push_back(5);
b.push_back(7);
cv(b);
return 0;
}
//---------------------------------------------------------------------------
也可以传递迭代器(推荐这种用法):
//---------------------------------------------------------------------------
#include <iostream>
#include <vector>
using namespace std;
void cv(vector<int>::iterator begin,vector<int>::iterator end)
{
while (begin!=end )
cout<<*begin++<<endl;
}
int main(void)
{
vector<int> b;
b.push_back(6);
b.push_back(5);
b.push_back(7);
cv(b.begin(),b.end() );
return 0;
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
#include <iostream>
#include <vector>
using namespace std;
void cv(vector<int> a)
{
vector<int>::iterator itp=a.begin();
while (itp!=a.end() )
cout<<*itp++<<endl;
}
int main(void)
{
vector<int> b;
b.push_back(6);
b.push_back(5);
b.push_back(7);
cv(b);
return 0;
}
//---------------------------------------------------------------------------
也可以传递迭代器(推荐这种用法):
//---------------------------------------------------------------------------
#include <iostream>
#include <vector>
using namespace std;
void cv(vector<int>::iterator begin,vector<int>::iterator end)
{
while (begin!=end )
cout<<*begin++<<endl;
}
int main(void)
{
vector<int> b;
b.push_back(6);
b.push_back(5);
b.push_back(7);
cv(b.begin(),b.end() );
return 0;
}
//---------------------------------------------------------------------------
展开全部
可以直接传递vector类型的参数:
//---------------------------------------------------------------------------
#include
<iostream>
#include
<vector>
using
namespace
std;
void
cv(vector<int>
a)
{
vector<int>::iterator
itp=a.begin();
while
(itp!=a.end()
)
cout<<*itp++<<endl;
}
int
main(void)
{
vector<int>
b;
b.push_back(6);
b.push_back(5);
b.push_back(7);
cv(b);
return
0;
}
//---------------------------------------------------------------------------
也可以传递迭代器(推荐这种用法):
//---------------------------------------------------------------------------
#include
<iostream>
#include
<vector>
using
namespace
std;
void
cv(vector<int>::iterator
begin,vector<int>::iterator
end)
{
while
(begin!=end
)
cout<<*begin++<<endl;
}
int
main(void)
{
vector<int>
b;
b.push_back(6);
b.push_back(5);
b.push_back(7);
cv(b.begin(),b.end()
);
return
0;
}
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
#include
<iostream>
#include
<vector>
using
namespace
std;
void
cv(vector<int>
a)
{
vector<int>::iterator
itp=a.begin();
while
(itp!=a.end()
)
cout<<*itp++<<endl;
}
int
main(void)
{
vector<int>
b;
b.push_back(6);
b.push_back(5);
b.push_back(7);
cv(b);
return
0;
}
//---------------------------------------------------------------------------
也可以传递迭代器(推荐这种用法):
//---------------------------------------------------------------------------
#include
<iostream>
#include
<vector>
using
namespace
std;
void
cv(vector<int>::iterator
begin,vector<int>::iterator
end)
{
while
(begin!=end
)
cout<<*begin++<<endl;
}
int
main(void)
{
vector<int>
b;
b.push_back(6);
b.push_back(5);
b.push_back(7);
cv(b.begin(),b.end()
);
return
0;
}
//---------------------------------------------------------------------------
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
void abc(vector <string> &VecStr)
可以这样定义,这举的是string型,可以用你想用的long ,int等等,vector做参数一般用的都是引用。
可以这样定义,这举的是string型,可以用你想用的long ,int等等,vector做参数一般用的都是引用。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
小坦克举的例子不错.
但是有时候在有的编译器下无法通过编译.
这时你需要将vector定义为宏.如下:
typedef vector <int> v_int
typedef v_int::iterator v_iIter
这样以来,在传参时用宏替代其本身,就可以通过编译了.
但是有时候在有的编译器下无法通过编译.
这时你需要将vector定义为宏.如下:
typedef vector <int> v_int
typedef v_int::iterator v_iIter
这样以来,在传参时用宏替代其本身,就可以通过编译了.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询