vector<>类型作为函数参数,总是有点迷糊,这次详细记录一下学习过程。
类型
这里用vector<int>来举例</int>
void func1 (vector<int> obj); //值传递 void func2 (vector<int>* obj); void func3 (const vector<int>* obj); void func4 (vector<int>& obj); void func5 (const vector<int>& obj);
如果需要对vector中的元素进行排序,那么必须是引用调用。
值传递
为了得到func1中的参数obj实参,会产生一次复制操作,而这种操作是多余的,影响时间效率,要尽量避免。
C/C++程序员要养成采用引用(指针)传递复杂类型参数的习惯。