复杂数据结构寻找最值
struct B {
B(int b) :b(b) {}
int b;
};
int main() {
std::vector<B> test;
test.push_back(B(1));
test.push_back(B(101));
test.push_back(B(99));
test.push_back(B(34));
test.push_back(B(8989));
int temp = 0;
auto result = std::min_element(test.begin(), test.end(), [&](B b1, B b2) {return (b1.b < b2.b);});
std::cout << (result->b) << "\n";
return 0;
}
lamda+回调函数
struct Data {
int data;
Data() {};
Data(int data) :data(data) {};
};
std::vector<Data> pData = { Data(0),Data(1),Data(2) };
void disposeEachData(Data data) {
std::cout << data.data << "\n";
}
void disposeDate(std::function<void(Data)> f) {
for (auto& e : pData) {
f(e);
}
}
int main() {
disposeDate([&](Data data) {
disposeEachData(data);
});
return 0;
}
其他
捕获列表中 如果是按值的话([=])传入值是不可更改的 具体原理参考另一位朋友
https://blog.csdn.net/LPWSTR/article/details/79633944