用auto和iterator迭代器对元素赋值比较

复制代码

/* auto赋值只是暂时有效,iterator赋值才是真实有效地*/
/* 不只是vector,所有能用迭代器的容器应该都具有这个特点*/
1
#include<iostream> 2 #include<vector> 3 using namespace std; 4 int main() 5 { 6 vector<int> v; 7 for(int i=0;i<5;i++) 8 v.push_back(i); 9 for(auto i:v)/* 用auto遍历时,对元素赋值只是当场有效。即退出循环便无用*/ 10 { 11 i=7; 12 cout<<i<<endl; 13 } 14 cout<<"上面是auto赋值后元素暂时的值\n"; 15 for(auto i:v) 16 { 17 cout<<i<<endl; 18 } 19 cout<<"上面是auto赋值结束后,元素实际的值"; 20 for(vector<int>::iterator it=v.begin();it!=v.end();it++) 21 { 22 *it=6; 23 cout<<*it<<endl; 24 }/*迭代器赋值才是真实有效*/ 25 cout<<"上面是迭代器对元素赋值后元素的值\n"; 26 for(auto i:v) 27 { 28 cout<<i<<endl; 29 } 30 cout<<"下面是迭代器赋值结束后,元素实际的值,可见这种赋值真实有效\n"; 31 }
复制代码
posted @   念秋  阅读(1141)  评论(2编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示