使用 std::fill 用递增的数字填充向量

2024-02-27

我想填写一个vector<int> using std::fill,但向量不应包含一个值,而是应包含按升序排列的数字。

我尝试通过将函数的第三个参数迭代 1 来实现此目的,但这只会给我填充 1 或 2 的向量(取决于++操作员)。

Example:

vector<int> ivec;
int i = 0;
std::fill(ivec.begin(), ivec.end(), i++); // elements are set to 1
std::fill(ivec.begin(), ivec.end(), ++i); // elements are set to 2

最好使用std::iota http://en.cppreference.com/w/cpp/algorithm/iota像这样:

#include <vector>
#include <numeric>
// ...
std::vector<int> v(100) ; // vector with 100 ints.
std::iota (std::begin(v), std::end(v), 0); // Fill with 0, 1, ..., 99.

也就是说,如果你没有任何c++11支持(在我工作的地方仍然是一个真正的问题),使用std::generate http://en.cppreference.com/w/cpp/algorithm/generate像这样:

#include <vector>
#include <algorithm>
// ...
struct IncGenerator {
    int current_;
    IncGenerator (int start) : current_(start) {}
    int operator() () { return current_++; }
};

// ...

std::vector<int> v(100) ; // vector with 100 ints.
IncGenerator g (0);
std::generate( v.begin(), v.end(), g); // Fill with the result of calling g() repeatedly.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 std::fill 用递增的数字填充向量 的相关文章

  • GCC C++ (ARM) 和指向结构体字段的 const 指针

    假设有一个简单的测试代码 typedef struct int first int second int third type t define ADDRESS 0x12345678 define REGISTER type t ADDRE
  • 将处理后的图形绘制到另一个图形中

    我想将一个经过处理的图形绘制到另一个图形中 I have two graphics var gHead Graphics FromImage h var gBackground Graphics FromImage b Transform
  • 赋值运算符和复制构造函数有什么区别?

    我不明白C 中赋值构造函数和复制构造函数之间的区别 是这样的 class A public A cout lt lt A A lt lt endl The copy constructor A a b The assignment cons
  • try-catch 中未处理的异常

    try list from XElement e in d Descendants wix File where e Attribute Name Value Contains temp Name e Parent Parent Attri
  • 在 Xcode4 中使用 Boost

    有人设置 C Xcode4 项目来使用 Boost 吗 对于一个简单的 C 控制台应用程序 我需要在 Xcode 中设置哪些设置 Thanks 用这个来管理它 和这个
  • ZLIB 解压缩

    我编写了一个小型应用程序 该应用程序应该解压缩以 gzip deflate 格式编码的数据 为了实现这一点 我使用 ZLIB 库 使用解压缩功能 问题是这个功能不起作用 换句话说 数据不是未压缩的 我在这里发布代码 int decompre
  • 获取从属性构造函数内部应用到哪个属性的成员?

    我有一个自定义属性 在自定义属性的构造函数内 我想将属性的属性值设置为属性所应用到的属性的类型 是否有某种方式可以访问该属性所应用到的成员从我的属性类内部 可以从 NET 4 5 using CallerMemberName Somethi
  • C++11 函数局部静态 const 对象的线程安全初始化

    这个问题已在 C 98 上下文中提出 并在该上下文中得到回答 但没有明确说明有关 C 11 的内容 const some type create const thingy lock my lock some mutex static con
  • 转到 C# WPF 中的第一页

    我正在 WPF 中使用导航服务 为了导航到页面 我使用 this NavigationService Navigate new MyPage 为了返回我使用 this NavigationService GoBack 但是如何在不使用的情况
  • 禁用 LINQ 上下文的所有延迟加载或强制预先加载

    我有一个文档生成器 目前包含约 200 个项目的查询 但完成后可能会超过 500 个 我最近注意到一些映射表示延迟加载 这给文档生成器带来了一个问题 因为它需要根据生成的文档来访问所有这些属性 虽然我知道DataLoadOptions可以指
  • 范围和临时初始化列表

    我试图将我认为是纯右值的内容传递到范围适配器闭包对象中 除非我将名称绑定到初始值设定项列表并使其成为左值 否则它不会编译 这里发生了什么 include
  • std::bind 重载解析

    下面的代码工作正常 include
  • 32位PPC rlwinm指令

    我在理解上有点困难rlwinmPPC 汇编指令 旋转左字立即然后与掩码 我正在尝试反转函数的这一部分 rlwinm r3 r3 0 28 28 我已经知道什么了r3 is r3在本例中是一个 4 字节整数 但我不确定这条指令到底是什么rlw
  • gdb查找行号的内存地址

    假设我已将 gdb 附加到一个进程 并且在其内存布局中有一个文件和行号 我想要其内存地址 如何获取文件x中第n行的内存地址 这是在 Linux x86 上 gdb info line test c 56 Line 56 of test c
  • 为什么我使用google'smtp'无法发送电子邮件?

    我有以下程序使用 smtp gmail com 587 发送电子邮件 namespace TestMailServer class Program static void Main string args MailMessage mail
  • 运行代码首先迁移更新数据库时出错

    我在迁移到数据库时遇到问题 并且似乎找不到我遇到的错误的答案 System MissingMethodException Method not found System Data Entity Migrations Builders Tab
  • 同时从多个流中捕获、最佳方法以及如何减少 CPU 使用率

    我目前正在编写一个应用程序 该应用程序将捕获大量 RTSP 流 在我的例子中为 12 个 并将其显示在 QT 小部件上 当我超过大约 6 7 个流时 问题就会出现 CPU 使用率激增并且出现明显的卡顿 我认为它不是 QT 绘制函数的原因是因
  • 如何在 GCC 5 中处理双 ABI?

    我尝试了解如何克服 GCC 5 中引入的双重 ABI 的问题 但是 我没能做到 这是一个重现错误的非常简单的示例 我使用的GCC版本是5 2 如您所见 我的主要函数 在 main cpp 文件中 非常简单 main cpp include
  • 我应该在应用程序退出之前运行 Dispose 吗?

    我应该在应用程序退出之前运行 Dispose 吗 例如 我创建了许多对象 其中一些对象具有事件订阅 var myObject new MyClass myObject OnEvent OnEventHandle 例如 在我的工作中 我应该使
  • 过度使用委托对性能来说是一个坏主意吗? [复制]

    这个问题在这里已经有答案了 考虑以下代码 if IsDebuggingEnabled instance Log GetDetailedDebugInfo GetDetailedDebugInfo 可能是一个昂贵的方法 因此我们只想在调试模式

随机推荐

  • 在 QtQuick 中应用 MVVM 模式

    我如何在 QtQuick 应用程序中应用 MVVM 模式 有人能给我任何示例 简单 代码吗 Thanks 使用 C ViewModel https bitbucket org AntyaDev qtquickmvvmexample over
  • 如何减少anaconda目录下的文件数量?

    我在计算集群上运行 conda 环境 其中每个 项目 的文件总数受到限制 最多 200k 个文件 我只创建了几个 conda 环境 anaconda for Python 2 7 每个环境中安装了约 200 个 python 和 R 包 环
  • 如何从 mp4 视频中删除或编辑 Exif?

    我用 Samsung Galaxy II 录制了一个全高清视频 当我将其上传到 YouTube 时 我发现它变成了 90 度 就像纵向布局 1080x1920 而不是 1920x1080 我找到了问题的原因 YouTube 正在读取视频元数
  • JNA 结构和指针映射

    如何将下面的函数映射到java VOID WriteToStruct BOOL 状态 STRUCT MSG RecBuff 这个函数的作用是 1 填充结构 RecBuff2 更新状态 如何映射到 Java 中的布尔指针并访问函数更新的结构数
  • STM32 上的 ADC 单次转换

    我正在研究 STM32 F103x 上的 ADC 编程 并从最简单的情况 单次转换开始 测量内部温度传感器 连接到 ADC1 的值 并使用 USART 将其发送到 COM 端口 目标似乎很明确 但是当我尝试将源代码下载到闪存时 它不会向 C
  • Django 1.8 与 Postgres BDR 9.4.1 的迁移

    我正在尝试使用 BDR 在 Postgres 数据库上运行 Django 迁移 python manage py makemigrations 工作正常 但正在运行 python manage py migrate 结果出现以下错误 ALT
  • 从文本内容生成标签

    我很好奇是否存在一种算法 方法可以通过使用一些权重计算 出现率或其他工具从给定文本生成关键字 标签 此外 如果您为此指出任何基于 Python 的解决方案 库 我将不胜感激 Thanks 实现此目的的一种方法是提取文档中出现频率比您预期的偶
  • ionic - iPAD 中的下拉列表闪烁

    我的 Ionic 应用程序中的下拉列表在 iPAD 中闪烁 1 在下拉点击 2 如果点击外部下拉列表 3 如果点击下拉列表内 将再次显示图像 1 它在 iPhone 5s 上运行良好 但在 iPAD 中则不然 有什么解决方案或解决方法吗 E
  • 如何使用 Selenium 进行搜索、向下箭头并按 Enter 键

    我正在尝试搜索一家公司 在 inhersight com 上向下箭头并单击 Enter 我有以下代码 但它似乎不起作用 from selenium import webdriver from selenium webdriver commo
  • Flutter 可以高效地布局嵌套列表吗?

    这样的布局在 Flutter 中能否实现并高效渲染 Example 黄色和蓝色块都可以有大约 30 个元素 所以我想应该使用类似 ListView builder 的东西 我尝试过嵌套2个ListView builder 内部带有shrin
  • Knuth-Morris-Pratt 失效表

    我正在准备考试 正在研究 Knuth Morris Pratt 算法 考试内容是不及格表和 DFA 构建 我了解 DFA 构造 但我不太了解如何制作失败表 如果我有一个模式 abababc 的示例 如何从中构建失败表 解决办法是 失败表 0
  • 无法使用javascript下载大数据

    我在 javascript 中有大量 JSON 对象形式的数据 我已使用 JSON stringify 将其转换为字符串 现在我的用例是在文本文件中向用户提供这个大字符串 为此 我编写了下面的代码 HTML代码
  • 为什么文档为空?

    更新 使用接近工作的解决方案 我试图让 跳到内容 链接跳转到 content start 之后的第一个可聚焦元素 登录库 component ts import Component OnInit from angular core impo
  • 合并R中不同大小和条件的数据帧

    我正在尝试将 2 个 csv 文件合并为一个文件 它们有共同的 id 但大小不同 我使用了 merge 但我得到了复制的数据 我有以下数据框 SR lt c SR1 SR2 SR2 SR2 SR3 SR4 SR4 school lt c S
  • mysqli:mysqli_result 无法转换为字符串[重复]

    这个问题在这里已经有答案了 我知道已经有人问过很多类似的问题 但我无法将其转化为我的问题 所以这就是我再次询问的原因 代码过去运行良好 但由于 mysql 即将被弃用 我想将其转换为 mysqli 当尝试从数据库读取某些内容时 我收到以下错
  • 具有多列的雄辩 WHERE LIKE 子句

    我正在实现一个搜索栏 可以按名字 姓氏或两者搜索客户 所以 举例来说 Mike Hizer将匹配Mike Hizer zer Mike Hizer等等 这是我想出的 Customer where DB raw concat first na
  • 为 Windows 制作热键最简单的方法是什么?

    For example you push Ctrl V and insert the buffer content into the window How can I create my own hotkeys like that Sorr
  • 在 C#/.NET 中将参数标记为不可为空?

    是否有一个简单的属性或数据契约可以分配给函数参数来阻止null从 C NET 中传递 理想情况下 这也会在编译时进行检查以确保文字null没有在任何地方使用它并且在运行时抛出ArgumentNullException 目前我写的东西像 if
  • Cocos2d for android 支持不同分辨率

    我正在尝试构建一款游戏 并且想知道如何支持不同的分辨率和屏幕尺寸 对于精灵的位置 我实现了一个基本函数 它根据一定的比例设置位置 这是通过从sharedDirector的winSize方法获取屏幕宽度和高度获得的 但这种方法没有经过测试 因
  • 使用 std::fill 用递增的数字填充向量

    我想填写一个vector