vector数组 传递 引用 指针 参数

一、一维

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作为参数传递时,我使用传值传递、引用传递的数据都为空,不明原因,最后使用的传址传递。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在函数中vector数组可以使用以下两种方法: 1. vector数组引用 可以将vector数组作为函数参数,通过引用的方式传递给函数。这样可以避免拷贝vector数组,提高程序执行效率。例如: ```c++ #include <iostream> #include <vector> using namespace std; // 接受vector数组引用作为参数 void print_vector(const vector<int>& vec) { for (int i = 0; i < vec.size(); i++) { cout << vec[i] << " "; } cout << endl; } int main() { vector<int> vec {1, 2, 3, 4, 5}; // 调用函数print_vectorvector数组引用 print_vector(vec); return 0; } ``` 输出结果为: ``` 1 2 3 4 5 ``` 在函数中,使用`const`关键字修饰vector数组引用,可以避免在函数内部修改vector数组。这样可以增加程序的可读性和安全性。 2. vector数组指针 可以将vector数组作为函数参数,通过指针的方式传递给函数。这样可以在函数内部修改vector数组,并且不需要拷贝vector数组。例如: ```c++ #include <iostream> #include <vector> using namespace std; // 接受vector数组指针作为参数 void add_one_to_vector(vector<int>* vec) { for (int i = 0; i < vec->size(); i++) { (*vec)[i] += 1; } } int main() { vector<int> vec {1, 2, 3, 4, 5}; // 调用函数add_one_to_vectorvector数组指针 add_one_to_vector(&vec); // 输出修改后的vector数组 for (int i = 0; i < vec.size(); i++) { cout << vec[i] << " "; } cout << endl; return 0; } ``` 输出结果为: ``` 2 3 4 5 6 ``` 在函数中,使用指针访问vector数组中的元素,需要使用`->`和`*`操作符。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值