このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

C++の名前空間

C++に限らず、僕は「名前空間」的なスコープ概念が好きなんで、C++でも使ってしまっている。が、これは、名前のスコープが分かりにくくなる、面倒くさくなる、などの理由で他人からは歓迎されないかも知れないなー。

ウーン、、、、

既にあるレガシーコードは、接頭辞を付けている。myprojCopyData() とか Myproj_copyData() のような感じで、myproj の仲間だよ、と示す。クラス名とかも同じ命名法。これなら、myporj::copyData() でいい(のほうがいい)と思うのだが、、、

名前空間と接頭辞が違うのは、名前空間だと修飾子を省略できて、暗黙のスコーピングが使える。もちろん、これがいいところなのだが、「分かりにくいから、やめてくれ」となる。では、毎回 myproj:: を付ければいい、となるが、なんだかウレシクナイ:-<。

現状だと、実際「名前空間、使い過ぎかな」という印象はある。もともと好きだから、過剰使用になる傾向はあるね。

全然使わないのも辛い(心情的に)。妥協案を模索中。