按我的理解,仿函数应作为本std ::更大<int>()(100,300),为什么它工作?
std::greater<int> g;
std::cout << std::boolalpha << g(10, 3) << std::endl;
或作为函数的参数。
find_if(v.begin(), v.end(), std::greater<int>())
但这是什么意思?
std::cout << std::greater<int>()(100, 300) << std::endl; // output: false
当我使用not_equal_to如下,它不能通过编译:
int* pt = std::adjacent_find (numbers, numbers+5, std::not_equal_to<int>(1,1)) +1;
这两个“代码”是不一样的。 – Shoe
你的意思是用这种方式? 'int * pt = std :: adjacent_find(numbers,numbers + 5,std :: not_equal_to()(1,1))+1;' 仍然无法通过编译。 :( –
ponypaver
@ponypaver不,他的意思是:'std :: adjacent_find(数字,数字+5,std :: not_equal_to())' –
fjardon