C++ vector用法和传参

本文探讨了C++中vector的优势,如提供丰富函数且大小可变。介绍了vector的初始化、访问方法,特别强调了在动态操作和高维vector的使用。在作为函数调用的一部分时,推荐将其作为参数传入而非返回值,因为后者在递归中可能导致效率问题。文章通过示例展示了这两种方法的应用。
摘要由CSDN通过智能技术生成

C++ vector优点和用法

优点:提供了很多现有函数,可以直接调用,空间大小浮动(与静态数组相比优势)

用法:见blog c++详细用法

初始化之前:即获得空间以前不能访问。

vector<int> a;
for(int i=0;i<10;i++)
    a[i]=i;

访问错误,改为:

vector<int> a(10);
for(int i=0;i<a.size()-1;i++)
    a[i]=i;

动态操作:

vector<int> a;
for(int i=0;i
C++中,`vector` 是一个非常灵活的动态数组容器,它可以存储任意类型的元素,并且可以根据需要自动调整其大小。当你需要将 `vector` 作为参数传递给函数时,有几种不同的方式可以实现: 1. 传递整个 `vector`: 可以直接传递 `vector` 的实例到函数中。这种方式会将 `vector` 通过值传递,这意味着会创建一个 `vector` 的副本。在函数内部对 `vector` 的任何修改都不会影响原始的 `vector`。 ```cpp void func(vector<int> vec) { // 在这里对vec进行操作 } ``` 2. 传递 `vector` 的引用: 为了效率,通常会将 `vector` 以引用的形式传递给函数。这样可以避免复制整个 `vector`,并且函数内对 `vector` 的修改会反映到原始的 `vector` 上。 ```cpp void func(vector<int>& vec) { // 在这里对vec进行操作 } ``` 3. 传递指向 `vector` 指针: 如果需要在函数中修改 `vector` 的内容,并且还希望能够调整 `vector` 的大小,那么可以传递一个指向 `vector` 的指针。 ```cpp void func(vector<int>* vec_ptr) { // 在这里通过vec_ptr对vec进行操作 } ``` 4. 传递 `vector` 的迭代器: 另一种常见的方法是传递开始和结束的迭代器,这样可以在不完全复制 `vector` 的情况下,遍历 `vector` 的特定范围。 ```cpp void func(vector<int>::iterator begin, vector<int>::iterator end) { // 在这里遍历begin到end的范围 } ``` 选择哪种方式取决于你的具体需求,例如是否需要修改 `vector`、是否关心传递效率等因素。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值