當然可以!std::copy_if
是 C++ 標準庫中的一種算法,它可以根據指定的條件從一個范圍復制元素到另一個范圍
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
bool is_even(int num) {
return num % 2 == 0;
}
int main() {
std::vector<int> source = {1, 2, 3, 4, 5, 6, 7, 8, 9};
std::vector<int> destination(source.size());
std::copy_if(source.begin(), source.end(), destination.begin(), is_even);
std::cout << "Even numbers from source: ";
for (int num : destination) {
std::cout << num << ' ';
}
std::cout << std::endl;
return 0;
}
在這個示例中,我們定義了一個名為 is_even
的函數,用于檢查一個整數是否為偶數。然后,我們創建了兩個向量:source
和 destination
。我們使用 std::copy_if
將 source
中的偶數復制到 destination
中。最后,我們輸出 destination
中的內容,即 source
中的偶數。