C++ 接受狀態變數的lambda表示式

si_yu_ge發表於2020-09-25
#include<algorithm>
#include<vector>
#include<iostream>
using namespace std;

int main(){
	vector <int> a{ 1, 3, 5, 7, 9, 11};
	
	int x;
	cout << "input 除數 x" << endl << '>';
	cin >> x;
	
	//通過捕獲列表[...]接受狀態變數的lambda表示式 
	auto p = find_if( a.begin(), a.end(), [x](int& a){
		return (a % x == 0);
	});//[x] 中 x 為狀態變數 
	
	if( p != a.end()) cout << "a[" << distance( a.begin(), p) << "] can be divided by " << x << endl;
	else cout << "not found" << endl;
	
} 

相關文章