C++遍历数组的几种方式
1.传统下标遍历
int main( ){ int a[10] = {1,2,3,4,5,6,7,8,9,10}; for (int i=0;i<10;i++){ cout<<a[i]<<endl; } }
2.指针遍历
我们知道C++中的数组名实际上是一个存放数组首元素地址的常量。并且数组是连续的空间,所以地址也是连续的。
所以,数组名即为数组首元素地址。数组名加数组长度-1即为数组尾元素地址。所以我们用指针来遍历数组也是非常方便的。
int main( ){ int a[10] = {1,2,3,4,5,6,7,8,9,10}; for (int *p=a;p!=a+10;p++){ cout<<*p<<endl; } }
3.基于范围 (range-based) 的for循环
这是C++11中增加的功能,可以方便的对同一类型的范围数据做遍历。
int main( ){ int a[10] = {1,2,3,4,5,6,7,8,9,10}; for (int i : a) { cout<< i <<endl; } }
4.使用迭代器来遍历数组
迭代器是用来访问容器内元素的类模板,虽然表现行为像指针,但是和指针有本质的区别。使用上,相较于指针,可以方便的使用成员函数begin()和end()来获取遍历开始地址和遍历结束地址,同时,迭代器使用之后会自动回收。
int main( ){ int a[10] = {1,2,3,4,5,6,7,8,9,10}; for(int* p = begin(a);p!=end(a);p++){ cout<<*p<<endl; } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】