天天看点

C++ add()函数的四种实现方式

直接看源码:

#include <QApplication>
#include <iostream>
 
int add1(int a, int b)
{
    return a + b;
}
 
class ADD
{
public:
    int operator()(int a, int b)
    {
        return a + b;
    }
};
 
template <typename T, typename U>
auto add3(T a, U b) -> decltype(a + b)
{
    return a + b;
}
 
auto add4 = [](int a, int b) -> int {
    return a + b;
};
 
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
 
    ADD add2;
    std::cout << add1(3, 4);
    std::cout << add2(3, 4);
    std::cout << add3(3, 4);
    std::cout << add4(3, 4);
 
    return a.exec();
}

      

继续阅读