메타 프로그래밍이 미친짓 같아 보이지만, 이런 라이브러리를 만들어낸다는건 정말 대단하다는 말 밖에는;;;
#include
#include
#include
#include
#include
#include
#include
using namespace std;
using namespace boost::lambda;
int main()
{
vector
for (int i = 0; i < 10; i++)
vi.push_back(i);
cout << "before" << endl;
copy(vi.begin(), vi.end(), ostream_iterator
for_each(vi.begin(), vi.end(), _1 += 1);
cout << endl << "after" << endl; for_each(vi.begin(), vi.end(), cout << _1 << ' '); cout << endl << "end of program" << endl; return EXIT_SUCCESS; } [/code] 결과는 [code] before 0 1 2 3 4 5 6 7 8 9 after 1 2 3 4 5 6 7 8 9 10 end of program [/code] 도대체 어떻게 임의의 코드를 쓰면 그걸 functor로 바꾼걸까 알 수가 없군요..