C++11 复制_if函数及其参数

C++11 复制_if函数及其参数,c++11,lambda,C++11,Lambda,有人能详细解释一下这行代码的作用吗?请详细说明函数采用的参数。此函数的参数通常还有哪些?如果功能仅对向量起作用,则复制\u吗?我对第三个逗号“[](int x){return x%2;`”之后的最后一部分感到特别困惑 这是我不明白的代码行>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> std::copy_if(array.begin()、array.end()、std::back_

有人能详细解释一下这行代码的作用吗?请详细说明函数采用的参数。此函数的参数通常还有哪些?如果功能仅对向量起作用,则
复制\u吗?我对第三个逗号“[](int x){return x%2;`”之后的最后一部分感到特别困惑

这是我不明白的代码行>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
std::copy_if(array.begin()、array.end()、std::back_插入器(赔率),[](int x){return x%2;});

据我所知,它从
数组
(这是一个向量)复制,并“向后插入”到
向量

此外,每当我通过谷歌搜索解释时,它都会带我去那些解释相当模糊的网站。或者,有人能教我如何理解他们的胡言乱语,或者你能给我指出一个可靠的来源来学习这些东西吗?例如,这个链接描述了while循环和一元谓词以及我迷路了。

[](int x){return x%2;}

这只是一个lambda函数,用于满足复制的前提条件


只要看看这个函数在执行时会给出与
false
相对应的
0
,或者与
true
相对应的
1
。如果条件/lambda的计算结果为
true
,那么复制就会发生,否则不会发生。

你的问题归结为1:迭代器是如何工作的?2:lambda是什么?一个D 3:算法是如何工作的?这些都是很复杂的事情,我们要理解的太复杂了。谢谢你的清晰。我在哪里可以学到这个?这很有帮助。我发现我可能在分析这个特定的代码时可能会不知所措。我只有两个C++课程。这些课程甚至没有接触过这种类型。当然。我在哪里可以了解lambda函数和这些更高级的主题?