当前位置: 首页 > article >正文

常用标准库之-std::iota

定义与头文件

std::iota 是 C++ 标准库 <algorithm> 头文件中提供的一个算法,用于将一个连续递增的值赋给指定范围内的元素。

函数原型
template< class ForwardIt, class T >
void iota( ForwardIt first, ForwardIt last, T value );
  • ForwardIt:前向迭代器类型,用于指定元素范围。
  • T:用于初始化和递增的值的类型。
  • first:指向范围起始位置的迭代器。
  • last:指向范围结束位置的迭代器。
  • value:起始值,算法会从这个值开始,依次为范围内的元素赋值。
功能

该函数会将 value 赋值给 *first,然后将 value 递增(通过 ++value),并将递增后的值赋给下一个元素,以此类推,直到到达 last 位置。

示例代码
#include <iostream>
#include <vector>
#include <algorithm>

int main() {
    std::vector<int> vec(5);
    // std::iota 从值 10 开始,依次为 vec 中的元素赋值,
    // 最终 vec 中的元素为 {10, 11, 12, 13, 14}
    std::iota(vec.begin(), vec.end(), 10);
    for (int num : vec) {
        std::cout << num << " ";
    }
    std::cout << std::endl;
    return 0;
}

http://www.kler.cn/a/552114.html

相关文章:

  • Kafka 在大数据生态系统中的应用:实时数据流的中枢神经
  • stm32rtc实时时钟详解文章
  • ROS-相机话题-获取图像-颜色目标识别与定位-目标跟随-人脸检测
  • 上线了一个微软工具(免费),我独自开发,本篇有源码
  • DeepSeek驱动下的数据仓库范式转移:技术解耦、认知重构与治理演进
  • 北京青蓝智慧科技:LCCI ESG的从业方向
  • 【 深林寻径:从DeepSeek-MoE架构看智能生命的觉醒之路】
  • 单元测试方法的使用
  • 【论文笔记】Transformer^2: 自适应大型语言模型
  • 在Ubuntu24.04上安装Stable-Diffusion1.10.1版本
  • 力扣-二叉树-617 合并二叉树
  • 图数据库Neo4j面试内容整理-查询语言 Cypher
  • Kubernetes 容器自动伸缩失败:解决方案及阿里云如何帮助
  • js第八题
  • C++中的线程同步方式
  • Vue 中 MVVM、MVC 和 MVP 模式的区别
  • Docker 在微服务架构中的应用(二)
  • NLP 八股 DAY1:BERT
  • Redis慢查询日志详解
  • MySQL数据库入门到大蛇尚硅谷宋红康老师笔记 基础篇 part 14