2

たとえば、ソース ファイルにはクラス A があります。

A::b() {
  ::c();
}

"::c()" とはどういう意味ですか?

4

1 に答える 1

6

これは、«c()グローバル名前空間から関数を呼び出す» を意味します。通常、指定されていない場合に呼び出される同じ名前のクラス メソッドがある場合に使用さ::れます。

ラッパー メソッドが「元の」C 関数と同じ名前を持っている場合、C ライブラリのラッパー クラスでよく見られます。

のように使用されることがよくある名前空間解決演算子の特殊なケースであることに注意してくださいnamespace::name(例: std::cout); グローバル名前空間からの名前が必要であることを指定するには、そのnamespace部分を省略します。

于 2013-02-19T00:49:23.983 に答える