可以通過在C++中使用模板和lambda表達式來結合使用count_if函數。以下是一個簡單的示例:
#include <iostream>
#include <algorithm>
#include <vector>
template <typename T>
int countOddNumbers(const std::vector<T>& vec) {
return std::count_if(vec.begin(), vec.end(), [](T n) { return n % 2 != 0; });
}
int main() {
std::vector<int> numbers = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int oddCount = countOddNumbers(numbers);
std::cout << "There are " << oddCount << " odd numbers in the vector." << std::endl;
return 0;
}
在這個示例中,我們定義了一個模板函數countOddNumbers,該函數接受一個向量并使用lambda表達式來檢查其中的每個元素是否為奇數。然后,我們在main函數中調用這個模板函數,并打印出向量中奇數的數量。通過使用模板和lambda表達式,我們可以更靈活地處理不同類型的元素。