C++ lambda expression with parameters
#pragma once #pragma comment(lib,"rpcrt4.lib") #include <Windows.h> #include <rpcdce.h> #include <float.h> #include <iostream> #include <limits> #include <math.h> #include <numeric> #include <random> #include <stack> #include <string> #include <thread> #include <stdio.h> #include <vector> using namespace std; string getUuid() { RPC_CSTR rpcStr; string uuidValue; UUID newUUID; UuidCreate(&newUUID); UuidToStringA(&newUUID, &rpcStr); uuidValue = (char*)rpcStr; RpcStringFreeA(&rpcStr); return uuidValue; } auto leCL = [](int x, int y, int z) { for (int i = 0; i < x; i++) { cout << i << "," << getUuid() << endl; } for (int i = 0; i < y; i++) { cout << getUuid() << "," << i << endl; } for (int i = 0; i < z; i++) { cout << i << "," << getUuid() << "," << getUuid() << endl; } }; int main() { try { leCL(10, 15, 20); } catch (const std::exception& ex) { cout << ex.what() << endl; } }
void foreachDemo(int x) { vector<string> vec; for (int i = 0; i < x; i++) { vec.push_back(getUuid()); } for_each(vec.begin(), vec.end(), [](const auto& s) { static uint16_t num = 0; cout << ++num << "," << s << endl; }); } int main() { try { foreachDemo(100); } catch (const std::exception& ex) { cout << ex.what() << endl; } }