2016-07-29 2 views
-2

私のコードにはあいまいな参照がたくさんあります。私は "namespace x"を使用してコードを削除し、 "何か"を "x :: something"に変更しなければなりません...ショートカットかエレガントなソリューションはありますか?あいまいな参照への優雅な解決策はありますか?

は、はい、私は知っている、私は再び "名前空間を使用して、" 使用しません:)

+2

エレガントなソリューションは、名前空間を使用することです。その存在は名前の衝突を防ぐことです。個人的には、主にboostで作業しているときに、名前空間の名前を短くします。例えば、 'namespace bfs = boost :: filesystem;'と 'bfs :: wtv'を実行します。 – Borgleader

+0

'using 'を使うのを止めてください。明示的であること。 – NathanOliver

+0

@NathanOliver:これはまさに彼がやろうとしていることだと思います。 –

答えて

1

あなたがこれを行うことができます:代わりに使用するのでは

を:

using namespace std; // all std 

あなただけの特別明確にできます。

using std::cout, std::cin, std::endl; // specific references from std 
+0

良い、それは便利です。とにかく何かをするようなことはありますか? "名前空間stdを使用して、std :: coutを使用しないでください"? – wArtist

+0

私は恐れることができません:[**名前空間からクラスを除外する(C++)**](http://www.gamedev.net/topic/503495-excluding-a-class-from-a-namespace -c /)。しかし、これは 'namespace stdを使う。 x :: cout; '(ここで' x'はあなたの代わりの 'cout'のクラスです)を使って問題にすべきではありません。 @wArtist –

関連する問題