3

メンバー メソッドと同じ名前のグローバル関数があります。どちらも同じスコープで使用されます。それらをどのように区別しますか?グローバル関数に接頭辞「g」を追加することは慣例ですか? グローバル変数については慣習的であることは知っていますが、グローバル関数についてはそうであるかどうかはわかりません。

4

1 に答える 1

22

それらを使用するために関数名を変更する必要はありません。
コメントが言うように、関数を完全に修飾することができます。

void foo()
{
}

class Bar
{
  void foo()
  {
  }

  void wibble()
  {
    ::foo();
  }
};

::グローバルスコープで見ることを意味します

于 2013-08-07T15:19:39.557 に答える