vector数组 传递 引用 指针 参数

时间:2021-09-19 19:11:55

一、一维

vector<int> vec;  
1. void deal( vector<int> vec );
2. void deal( vector<int>* pvec );
3. void deal( const vector<int>* pvec ); // 调用时不会调用拷贝构造函数
4. void deal( vector<int>& vec );
5. void deal( const vector<int>& vec ); // 在函数调用时调用了vector的拷贝构造函数
调用:
1. deal( vec );
2. deal( &vec );
3. deal( &vec );
4. deal( vec );
5. deal( vec );

二、二维

typedef vector<vector<char> > vecChar;
vecChar board(n,vector<char>(m,'.'));
int filling(int x, int y, vecChar& board){}

三、亲测

  在类之间使用QVector作为参数传递时,我使用传值传递、引用传递的数据都为空,不明原因,最后使用的传址传递。