c++ algorithm generate, mutable
generate : 1,2번 인자 범위를 3번 인자의 식으로 값을 생성함.
mutable : const 변수 수정 가능
example:
#include <algorithm> #include <iostream> #include <vector> int main() { std::vector<int> v(5); /* // can access 'n' in lambda function. int n = 0; std::generate(v.begin(), v.end(), [&]() { return n++; }); */ /* // can access 'n' in lambda function. because of mutable. int n = 0; std::generate(v.begin(), v.end(), [=]() mutable { return n++; }); */ std::generate(v.begin(), v.end(), [n = 0]() mutable { return n++; }); std::cout << "v: "; for (auto iv : v) { std::cout << iv << " "; } std::cout << "\n"; }
댓글
댓글 쓰기