You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改C++迭代器指向位置的元素值?

修改迭代器指向元素值的简单方案

对于你给出的代码场景,直接解引用迭代器就能修改它指向的元素值——因为max_element返回的是指向vector中最大元素的可写迭代器(只要你的vector不是const类型)。

具体代码示例:

#include <vector>
#include <algorithm>
#include <iostream>

int main() {
    std::vector<int> v = {1,2,3,4,5};
    auto it = std::max_element(v.begin(), v.end());
    // 将迭代器指向的元素替换为10
    *it = 10;
    // 打印验证结果
    for (int num : v) {
        std::cout << num << " "; // 输出:1 2 3 4 10
    }
    return 0;
}

需要注意的是,如果你的vector是const std::vector<int>类型,那max_element返回的是const_iterator,这种情况下无法通过迭代器修改元素值,但你的示例中是普通的非const vector,完全可以用这种方式修改。

内容的提问来源于stack exchange,提问作者Shefali Kanaujia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 08:57:01