私の C++ヘッダー ファイルは、完全に修飾されたすべての型 (ネストされた名前空間が 4 つまで深くなる) では非常に読みにくい (そして、入力するのが非常に面倒) ことがわかりました。これが問題です (すべての答えは、それを実装するための厄介な代替手段を提供しますが、それは問題ではありません): C++ 言語の構造体とクラスにスコープ付き using-directive を導入することに対する強い理由はありますか?関数での宣言)?
例えば
class Foo : public Bar
{
using namespace System;
using namespace System::Network;
using namespace System::Network::Win32::Sockets;
using Bar::MemberFunc; // no conflict with this
// e.g. of how messy my header files are without scoped using-directive
void FooBar(System::Network::Win32::Sockets::Handle handle, System::Network::Win32::Sockets::Error& error /*, more fully-qualified param declarations... */);
};
namespace
はキーワードであるため、Bar::MemberFunc
.
編集: 質問を注意深く読んでください ---> 太字にしました。注意:ここでは、例の読みやすさを改善する方法については説明していません。C++ 言語でスコープ付き using-directive を実装する方法 (つまり、キーワード/構成要素などを追加する方法) を提案することは答えではありません(既存の C++ 言語標準を使用してこれを実装するエレガントな方法を見つけることができれば、それはもちろん答えになります)!