モーダルを閉じる工作HardwareHub ロゴ画像

工作HardwareHubは、ロボット工作や電子工作に関する情報やモノが行き交うコミュニティサイトです。さらに詳しく

利用規約プライバシーポリシー に同意したうえでログインしてください。

工作HardwareHub ロゴ画像 (Laptop端末利用時)
工作HardwareHub ロゴ画像 (Mobile端末利用時)

名前空間 (C++をもう一度)

モーダルを閉じる

ステッカーを選択してください

モーダルを閉じる

お支払い内容をご確認ください

購入商品
」ステッカーの表示権
メッセージ
料金
(税込)
決済方法
GooglePayマーク
決済プラットフォーム
確認事項

利用規約をご確認のうえお支払いください

※カード情報はGoogleアカウント内に保存されます。本サイトやStripeには保存されません

※記事の執筆者は購入者のユーザー名を知ることができます

※購入後のキャンセルはできません

作成日作成日
2014/12/14
最終更新最終更新
2017/04/21
記事区分記事区分
一般公開

目次

    低レイヤーのプログラミングとOS開発が趣味。C言語を使っています。

    0
    ステッカーを贈るとは?

    サンプルコード

    #include <iostream>
    
    using std::cout; // using namespace std::cout ではないことに注意
    using std::endl; // ("namespace" ではない)
    // ↑グローバル空間での使用例です。関数内などで使用すると局所的に有効になります
    
    namespace MyName {
        int intval = 0;
    
        namespace Inner {
            void Show(); // プロトタイプ宣言
            int intval = 1;
        }
    }
    
    int intval = 2;
    
    // 名前空間は分割できるのです↑↓
    namespace MyName {
        namespace Inner {
            void Show() {
                // 自分の領域のものが「既出であれば」それが優先されます。プロトタイプ
                // 宣言を利用していれば必ず「既出」になることが保証できますね。
                cout << intval << endl; //=> 1
    
                // グローバル領域のものを明示して使用することもできます
                cout << ::intval << endl; //=> 2
            }
        }
    }
    
    int main() {
    
        cout << MyName::intval << endl;
        //=> 0
        cout << MyName::Inner::intval << endl;
        //=> 1
        cout << ::intval << endl; // 単に intval としても同じです。
        //=> 2
    
    
        // 名前空間に別名を付与して短縮できます
        namespace MI = MyName::Inner;
        MI::Show();
    
        return 0;
    }
    
    0
    詳細設定を開く/閉じる
    アカウント プロフィール画像 (本文下)

    低レイヤーのプログラミングとOS開発が趣味。C言語を使っています。

    記事の執筆者にステッカーを贈る

    有益な情報に対するお礼として、またはコメント欄における質問への返答に対するお礼として、 記事の読者は、執筆者に有料のステッカーを贈ることができます。

    さらに詳しく →
    ステッカーを贈る コンセプト画像

    Feedbacks

    Feedbacks コンセプト画像

      ログインするとコメントを投稿できます。

      関連記事