我试图创建一个为参数提供向量的函数:
class class0
{
...
...
}
void function (vector <class0> random_vector)
{
...
...
}
int main ()
{
vector <class0> the_vector;
function (the_vector);
...
...
}
有效。我通过一个简单的实验实现了它。但我不知道是否还有更多要知道做这样的事情。它与其他类型的数组是一样的吗?这是最好的方式吗?
所以我需要更多关于使用任何类型的数组作为函数参数的信息。
答案 0 :(得分:3)
您可以使用模板:
template <typename T>
void function (const vector<T>& random_vector)
{
}
你这样称呼:
vector<A> vecA;
vector<int> vecI;
function(vecA);
function(vecI);
这也可以通过模板来实现:
template <typename container>
void function2 (const container& random_vector)
{
}
你可以这样打电话:
list<A> lA;
vector<int> li;
function2 (lA);
function2 (li);
此外,您应该按const &
传递矢量类型以进行优化。