STL로 작업하지만 C++ 0x가 없으며 부스트를 사용할 수 없습니다. 어쨌든 사용시 functor에 2 개 이상의 인수를 바인드 할 수 있는지 궁금합니다. std :: generate? 뭔가 같은2 개 이상의 인수가 포함 된 stl functor
#include <iostream>
#include <vector>
#include <algorithm>
#include <functional>
using namespace std;
float f(int x, float y, float z) {return x*(y+z);}
int main(void)
{
std:vector<int> v(100);
float x=1.2, y=-3.3;
generate(v.begin(), v.end(), bind3argu(f, _, x, y)); // something like this: '_' is from vector
// as suggested, I also try
generate(v.begin(), v.end(), std::bind(f, x, y));
return 0;
}
나는 std :: bind를 사용하려고 시도하지만 g ++ 4.4.6에서는 컴파일되지 않습니다. BTW, std :: bind C++ 0x 및/또는 C++ 11에서만 지원됩니까?
'main'은'int' 리턴 타입을 가져야합니다. – chris
벡터에서 오는 '_'부분은 무엇입니까? 벡터 요소에 포함될 수있는 초기 값입니까? – Mahesh
안녕하세요, Mahesh, 내가 게시 한 코드가 존재하지 않습니다. 구현하고 싶은 아이디어를 보여주고 싶습니다. _는 벡터의 요소를 나타냅니다. – user1285419