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

无需循环为vector<int>所有元素统一加值的最快实现方法

实现方案

最快实现方式直接调用STL标准库的std::transform算法即可,全程无需手写显式循环,底层经过高度优化,性能甚至优于普通手写循环:

完整代码示例

#include <vector>
#include <algorithm>

int main() {
    std::vector<int> v1{1,2,3,4};
    // 原地对每个元素加2
    std::transform(v1.begin(), v1.end(), v1.begin(), [](int num) {
        return num + 2;
    });
    // 执行后v1元素为{3,4,5,6}
    return 0;
}

方案说明

  • 符合无显式循环的要求,循环逻辑由STL内部封装实现
  • 原地修改容器元素,无额外内存开销,空间复杂度为O(1)
  • 标准库算法经过编译期特化优化,开启O2优化后可自动匹配SIMD等指令级加速逻辑,执行效率为当前场景最优

如果偏好std::for_each写法,也可以用如下等价实现,性能无差异:

std::for_each(v1.begin(), v1.end(), [](int& num) {
    num += 2;
});

内容的提问来源于stack exchange,提问作者Nalin Mahajan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 03:27:03