将向量,队列和指针传递给函数

时间:2016-02-21 22:28:48

标签: c++ parameter-passing function-prototypes

我有一个函数myfunc(),它需要参数std::vectorstd::queue和指向MyClass对象的指针。

我的函数原型是:

void myFunc(vector<MyClass*>, std::queue<MyClass*>, MyClass*);

我不知道这是否是正确的原型声明。

要调用我的功能,我会执行以下操作:

myFunc(myVector, myQueue, MyClassObj);

同样,我不确定这是完全正确的。

最后,我的功能如下:

void myFunc(vector<MyClass*> myVector, std::queue<MyClass*> myQueue, MyClass* myClassObj)
{
   //do something
}

该函数应该在向量中搜索特定项。如果找不到,myClassObj将被推送到队列中。否则,如果找到该对象,它将调用另一个函数来设置myClassObj的一个参数的值。

我这样做是否正确?

谢谢,

1 个答案:

答案 0 :(得分:2)

&#34; 该函数应该在向量中搜索特定项目。如果找不到,myClassObj将被推送到队列中。否则,如果找到该对象,它将调用另一个函数来设置myClassObj的一个参数的值。&#34;

在那种情况下,

  • vector
  • 获取const&
  • queue & .....和
  • MyClass &或指针(如果您愿意
void myFunc(const vector<MyClass*>& myVector, std::queue<MyClass*>& myQueue, MyClass* myClassObj)
{
   //do something
}