C++改变集合元素的值
来源:互联网 发布:百度新闻的评论 知乎 编辑:程序博客网 时间:2024/06/08 11:29
在c++中,list 或者vector 遍历取值的时候有好几种方式,但是在遍历的时候改变集合元素中的值,如果用foreach就会出问题,例:
int main()
{
vector<string> aa;
aa.push_back("11");
for (auto item : aa) {
item[0] = '2';
}
for (auto item : aa) {
cout << item[0] << endl; //结果是1 没有改变
}
for (vector<string>::iterator it = aa.begin(), end = aa.end(); it != end; it++) {
it->at(0) = '3';
}
for (auto item : aa) {
cout << item[0] << endl;//结果是3 改变了值
}
for (int i = 0; i < aa.size(); i++) {
aa.at(i)[0] = '4';
}
for (auto item : aa) {
cout << item[0] << endl;//结果是3 改变了值
}
如果像java一样 用(for Object o : List<Object>)这样的循环,取到的不是集合中的元素,因此是不会改变元素内容的
list同理。
阅读全文
0 0
- C++改变集合元素的值
- ?迭代时改变集合里的元素
- Objective-C - 改变NSMutableArray的特定元素
- 修改对象,集合的元素属性也改变
- 【C#】删除集合里的元素
- delphi改变webbrowser中元素的值
- Perl 改变数组元素值的方法
- list循环改变元素的值写法
- HLG 1710 给出三个集合a,b,c,统计集合a元素+集合b中元素=集合c中的元素的个数 (基础题)
- unique--求集合的单值元素
- 集合元素的删除
- 动态改变元素的风格
- js 改变元素的位置
- 改变矩阵元素的位置
- 简单的改变元素样式
- 使用Lamdba 表达式 从A集合中去除不存在于B集合的元素加入到C集合中(快速找出两个集合中不同的元素)
- 求m个元素集合中n个元素的所有子集(C/OC)
- 33、C#:linq查本集合中不包含于另一个集合的元素
- 工具地址
- dom4j特殊字符处理
- hadoop MapReduce初试遇到的问题
- HBase日常维护
- activemq启动异常
- C++改变集合元素的值
- HBase 常用Shell命令
- shell脚本自动化收集
- HBase操作注意事项
- 分布式服务框架 Zookeeper -- 管理分布式环境中的数据
- 知识链-消息中间件
- 知识链-分布式协调服务zookeeper
- 知识链-办公
- request.getScheme()的使用方法