3
是否可以將函數定義作爲參數傳遞,如果有的話,那麼這個語法是什麼?如果不是,那是什麼原因?我想這樣做:C++:在函數調用中聲明函數
double arr1[10], arr2[10];
std::equal(arr1, &(arr1[5]), arr2, (bool(*)(double a, double b){return a == -b;});
是否可以將函數定義作爲參數傳遞,如果有的話,那麼這個語法是什麼?如果不是,那是什麼原因?我想這樣做:C++:在函數調用中聲明函數
double arr1[10], arr2[10];
std::equal(arr1, &(arr1[5]), arr2, (bool(*)(double a, double b){return a == -b;});
您可以使用lambda表達式爲:
std::equal(arr1, arr1 + 5, arr2, [](double a, double b) { return a == -b; });
我覺得你必須提到這是一個C++ 11功能。 – Shoe
@Jueecy:我認爲OP應該提及她是否想要一個老版本的語言的解決方案:-) –
這很酷,謝謝,但你說得對,我應該提到我是在一個解決方案涉及C++ 11。 :) – Alex