При чтении документации для boost:: test я натолкнулся на термин "свободная функция". Я понимаю, что свободная функция - это любая функция, которая ничего не возвращает (ее тип возврата недействителен). Но после прочтения далее кажется, что свободные функции также не принимают никаких аргументов. Но я не уверен. Все это мои предположения. Так может ли кто-нибудь определить свободную функцию?
В чем смысл термина "свободная функция" в С++?
Ответ 1
Термин free function в С++ просто ссылается на функции, не являющиеся членами. Любая функция, не являющаяся функцией-членом, является свободной функцией.
struct X {
void f() {} // not a free function
};
void g() {} // free function
int h(int, int) { return 1; } // also a free function