vector<int>& arr

在  vector<int>& arr  中使用  &  是为了传递引用。
 
传递引用的主要目的是避免不必要的拷贝,从而提高程序的性能。当传递一个非常大的容器(如  vector  )时,如果不使用引用而是按值传递,会导致整个容器被复制,这可能会带来较大的性能开销。
 
以下是一个简单的示例代码,展示了传递引用和不传递引用的区别:
 

#include <iostream>
#include <vector>

// 不使用引用,会复制整个 vector
void func1(std::vector<int> arr) {
    std::cout << "In func1, size of arr: " << arr.size() << std::endl;
}

// 使用引用,不会复制,直接操作原始的 vector
void func2(std::vector<int>& arr) {
    std::cout << "In func2, size of arr: " << arr.size() << std::endl;
}

int main() {
    std::vector<int> myVector = {1, 2, 3, 4, 5};

    func1(myVector); 
    func2(myVector); 

    return 0;
}

 
 
在这个示例中, func1  中对  arr  的操作是在复制的对象上进行的,而  func2  中则是直接对传入的原始  myVector  进行操作。

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值