C++ 文件函數的高級用法包括以下幾種:
namespace myNamespace {
void myFunction() {
// 函數實現
}
}
void myFunction(int a) {
// 函數實現
}
void myFunction(double a) {
// 函數實現
}
template <typename T>
T add(T a, T b) {
return a + b;
}
void myFunction(std::unique_ptr<MyClass>&& obj) {
// 函數實現
}
auto myLambda = [](int a, int b) {
return a + b;
};
auto myBind = std::bind(myFunction, std::placeholders::_1, 42);
std::function<int(int, int)> myHigherOrderFunction(std::function<int(int)> func) {
return func;
}
int (*myFunctionPointer)(int, int) = &myFunction;
struct MyFunctor {
int operator()(int a, int b) const {
return a + b;
}
};
auto myArrowFunction = [](int a, int b) -> int {
return a + b;
};