Что означает термин "свободная" функция в C++?


читая документацию для boost:: test, я наткнулся на термин "свободная функция". Я понимаю, что свободная функция-это любая функция, которая ничего не возвращает (ее тип возврата-void). Но после прочтения дальше кажется, что свободные функции также не принимают никаких аргументов. Но я не уверен. Это все мои предположения. Так может ли кто-нибудь определить свободную функцию?

1 72
c++

1 ответ:

термин функции В C++ просто относится к функциям, не являющимся членами. Каждая функция, которая не является функцией-членом является свободной функцией.

struct X {
    void f() {}               // not a free function
};
void g() {}                   // free function
int h(int, int) { return 1; } // also a free function