[解決済み】C++で名前空間を正しく使うには?
2022-04-04 22:03:01
質問
私はJava出身で、名前空間ではなくパッケージが使用されています。私は、一緒に動作して完全なオブジェクトを形成するクラスをパッケージに入れ、後でそのパッケージからそれらを再利用することに慣れています。しかし、今はC++で仕事をしています。
C++で名前空間はどのように使うのですか?アプリケーション全体に対して1つの名前空間を作るのか、それとも主要なコンポーネントに対して名前空間を作るのか?その場合、他のネームスペースにあるクラスからどのようにオブジェクトを作成するのでしょうか?
どのように解決するのですか?
名前空間は、基本的にはパッケージです。こんな風に使うことができます。
namespace MyNamespace
{
class MyClass
{
};
}
次にコードで。
MyNamespace::MyClass* pClass = new MyNamespace::MyClass();
また、常に特定の名前空間を使用したい場合は、次のようにします。
using namespace MyNamespace;
MyClass* pClass = new MyClass();
編集する 以下は ベルンハルドルシュ 私は、quot;using namespace x"構文をまったく使用しない傾向にあり、通常はオブジェクトをインスタンス化するときに明示的に名前空間を指定します(つまり、最初に示した例)。
また、ご質問のように 以下 を使えば、好きなだけ名前空間を使うことができます。
関連
-
[解決済み】 unsigned int vs. size_t
-
[解決済み】クラステンプレートの引数リストがない
-
[解決済み] 文字列の単語を反復処理するにはどうすればよいですか?
-
[解決済み] 1ビットのセット、クリア、トグルはどのように行うのですか?
-
[解決済み] Linux上で動作するC++コードのプロファイリングを行うにはどうすればよいですか?
-
[解決済み] スマートポインターとは何ですか?
-
[解決済み] なぜ、オブジェクトそのものではなく、ポインタを使用しなければならないのですか?
-
[解決済み] 仮想デストラクタはいつ使うのか?
-
[解決済み] C++でクラスと構造体はいつ使い分けるべきか?
-
[解決済み] 無名/匿名の名前空間と静的関数の比較
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】C++でint型に無限大を設定する
-
[解決済み】C++ 非推奨の文字列定数から「char*」への変換について
-
[解決済み】クラステンプレートの引数リストがない
-
[解決済み】C++のGetlineの問題(オーバーロードされた関数 "getline "のインスタンスがない
-
[解決済み】Visual C++で "Debug Assertion failed "の原因となる行を見つける。
-
[解決済み] 式はクラス型を持つ必要があります。
-
[解決済み] 数値定数の前にunqualified-idを付けて、数値を定義することを期待する。
-
[解決済み】std::cin.getline( ) vs. std::cin
-
[解決済み】'std::cout'への未定義の参照
-
[解決済み] cinとcoutをファイルにリダイレクトするには?