c++ - C++ 的展开是什么?
问题描述
C++ 有std::accumulate:
std::accumulate 执行左折叠。为了执行正确的折叠,必须反转二元运算符的参数顺序,并使用反向迭代器。
展开器从种子值构建列表,而折叠器将列表简化为汇总值。
C++ 的“展开”是什么?
解决方案
用顺序增加的值填充范围 [first, last),从 value 开始并重复评估 ++value。
std::generate
/ std::generate_n
。
为范围 [first, last) 中的每个元素分配一个由给定函数对象 g 生成的值。
如果 count>0,则将由给定函数对象 g 生成的值分配给从 first 开始的范围内的第一个 count 元素。否则什么都不做。
推荐阅读
- c# - 如何测量函数的物理内存使用量?
- curl - 403-尝试使用 curl 登录网站时出现 CSRF 错误
- logging - 任务日志(显然)在 Comma IDE 中使用 Log::Timeline 不起作用
- pandas - df.plot.bar() 中第一个 Bar 的空格
- flutter - Flutter:如何获取用于参考的值
- git-svn - git svn --authors-file 的作者文件中的 svn 用户名是否区分大小写?
- c - 如何在 Netbeans 中运行 C 程序
- json - SwiftUI:尝试加载本地 JSON 数据时,Canvas 出现预览错误
- hadoop - 尝试将文件放入 hadoop hdfs 时出错
- python - 真实世界的 Gevent 和 Asyncio 用例