プログラミングに関する記事やマニュアルなどを読んでいると、いつも という言葉に出くわしますqualified
。Java と同様に、完全修飾クラス名は com.example.Class になります。この記事を読む
::
と、C++のスコープ解決演算子が非表示の名前を修飾するために使用されるものとして定義されているため、それらを引き続き使用できます。これの定義はありますか?毎回違う文脈で使われているように見えるからです。
2283 次
2 に答える
12
コンピューター プログラミングでは、完全修飾名は、 呼び出しのコンテキストに関係なく、呼び出しが参照するオブジェクト、関数、または変数を指定する明確な名前です。階層構造では、名前が「(a) 指定された要素の上の階層シーケンス内のすべての名前と (b) 指定された要素自体の名前を含むという意味で完全である」場合、名前は完全修飾されます。したがって、完全修飾名は、呼び出しのスコープのために暗黙的になる名前空間を明示的に参照します。あいまいさを排除するために常に行われますが、これはコンテキストに応じて異なることを意味する可能性があります。
つまり、要するに、
Math
プロジェクトで名前を付けたクラスを持つことができますがMath
、Java にも既に存在しています。
したがって、実際に参照しているクラスを明確に識別するには、名前もパッケージで修飾する必要があります。
java.lang.Math //refers to java class Math
org.myproject.Math //refers to your project Math class
于 2013-09-14T15:02:55.777 に答える