c++11 - copy_if 函数及其参数
问题描述
有人会详细解释这行代码的作用吗?请详细说明该函数接受的参数。该函数还有哪些常用的参数?该copy_if
函数仅适用于向量吗?我对第三个逗号“ [] (int x) {return x % 2; `" ...
这是我看不懂的代码行>>>>>>>>>>>>>>>>>>>>>>>>>>
std::copy_if(array.begin(), array.end(), std::back_inserter(odds), [] (int x) {return x % 2;});
我知道它从array
(这是一个向量)复制,并将“反向插入”到vector<int>
赔率中。
此外,每当我通过谷歌搜索解释时,它都会将我带到解释相当模糊的网站。要么,有人会教我如何理解他们的胡言乱语,还是你会给我指出一个可靠的来源来学习这些东西?例如,这个链接描述了一个while循环和一元谓词,我只是迷路了。
解决方案
[] (int x) {return x % 2;}
这只是一个 lambda 函数,用于满足复制的先决条件。
只要看到这个函数在执行时会给出0
对应的false
,或者1
对应的true
。如果条件/ lambda 计算结果为true
,则复制将发生,否则不会。
推荐阅读
- image - 之后我安装了一个 ssl,图像滑块不起作用
- python - 如何在 setup.py 中指定括号依赖项?
- python - 忽略shell脚本中的特定文件for循环
- c# - Selenium C# ElementNotVisibleException:元素不可交互,但该元素实际上是可见的
- javascript - 如何使用 JavaScript 传输图像
- javascript - 赛普拉斯 - 如何为每个测试用例提供一个代码
- .net-core - 创建一个 Nuget 包而不将该依赖项添加到当前项目?
- python - Django 2.1.3/SQLite:唯一约束失败:users_profile.user_id || 尝试访问我的超级用户帐户时
- python - AttributeError:'list'对象没有属性'split'-使用croniter打印下一个crontab计划作业-stdout-Python
- ruby - 是否可以在 ruby 的类中调用覆盖的 to_s?