1. ホーム
  2. c++

[解決済み] C++の "free function "という用語の意味を教えてください。

2022-09-27 20:34:09

質問

boost::testのドキュメントを読んでいたら、quot;free function"という用語に出会いました。私が理解したのは、自由関数は何も返さない (戻り値の型が void) 関数であるということです。しかし、さらに読んでいくと、自由関数は引数を取らないようです。しかし、私は確信が持てません。これらはすべて私の仮定です。だから、誰もが自由関数を定義することができますか?

どのように解決するのですか?

用語 自由関数 という用語は、C++では単に非メンバー関数を指します。メンバ関数でないすべての関数は自由関数です。

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