C 用于向量中的结构访问索引或使用参考值
C++ for structure in vectors access index or use reference instead value
我假设如果我得到了,例如:
vector<string> myVector;
myVector.push_back("Camel");
myVector.push_back("is");
myVector.push_back("a");
myVector.push_back("noble");
myVector.push_back("animal");
我做:
for (string val : myVector){
val = "empty";
}
它不会替换向量中的值,因为它已将内容复制到新字符串。
我假设我可以做
for (int i=0; i<myVector.size(); i++) {
myVector[i] = "empty";
}
它将执行行为。
但是。我的问题是:
存在与第一种情况类似的其他结构,我可以说"选择向量中的值的引用,而不是复制到新变量",然后我可以直接影响向量值,然后让for (class value : vector)
键入模型?
或示例的最佳实践无需使用我提到的任何案例?迭代器?
声明基于循环的范围,以初始化对每个项目的引用:
for (string& val : myVector){
val = "empty";
}
现在,向量的项目已在就位。"项目"的类型可以是...
的任何东西<item-type> declarator = *itr;
...当itr
是容器的迭代器时,有效。
相关文章:
- 数组索引的值没有增加
- 芬威克树(BIT).找到具有给定累积频率的最小索引,单位为 O(logN)
- C++错误消息*成员参考.**初学者*
- 查找最接近的大于当前数字的数字的索引
- 在C++中调整向量中的索引
- 在决定是通过参考还是通过价值时,尺寸真的是一个问题吗
- 重载元组索引运算符-C++
- 给定一个向量,如何找到该向量的所有子集和的原始索引
- 参考资源文件VC++中的$(SolutionDir)
- C++:Application.cpp中抛出了未解析的外部符号(解决方案在问题的末尾,供未来的读者参考)
- 为std::string的某个索引赋值
- 并行用于C++17中数组索引范围内的循环
- 跟随整数索引列表的自定义类迭代器
- 如何在for循环中包含两个索引值的测试条件
- D3D11-将混合权重和索引传递到顶点着色器
- 将转换字符键入 int 以用作向量C++的索引
- 为什么在运算符重载时需要参考?
- 在 C++ 中访问数组负索引处的内存不会返回垃圾
- 如何为圆环创建索引
- 通过名称或索引参考成员变量