C++7.2.3 、7.2.4vector形参、数组形参

本文探讨了C++中关于vector形参和数组形参的使用。建议函数参数避免使用vector以减少元素复制,通常通过传递迭代器处理容器。对于数组形参,由于不能复制,函数通常通过指针操作数组。编译器忽略数组形参长度可能导致误解,且不检查数组长度。函数可以接收数组引用,确保类型匹配并保护元素不变。多维数组传递时,形参需要指定所有维度大小。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介

======================================================================================================

一、vector 类型的形参

通常,函数不应该有vector或其他标准库容器类型的形参,调用含有普通的非引用vector形参的函数将会复制vector的每一个元素。

从避免复制vector的角度出发,应该考虑将形参声明为引用类型。然而,看过11章后我们会知道,事实上,C++程序员倾向于通过传递指向容器中需要处理的元素的迭代器来传递容器。

void print(vector<int>::const_iterator beg,vector<int>::const_iterator end)   //形参是vector类型的迭代器
{
  while(beg!=end){
   cout<<*beg++;
   if(beg!=end) cout<<"  ";
   }
   cout<<endl;
}

//这个函数将输出从beg指向的元素开始到end指向的元素(不含)为止的范围内所有的元素,除了最后一个元素外,每个元素后面都输出一个空格。

<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值