11
8

More than 5 years have passed since last update.

C++でusing宣言やusing指令はヘッダに書いてはいけないらしい

Posted at

using宣言
using std::string;
=>stringがstdつけなくても使えるようになる。

using指令
using namespace std;
=>std(スタンダード)の中にある昨日がstdなしで全て使えるようになる。

using宣言やusing指令をヘッダに書いていた場合、
そのヘッダをincludeしているファイルで、予期せぬ識別子の衝突が起きる可能性がある。
グローバルが汚染され、予期せぬバグが発生する可能性があるのでusing宣言やusing指令はヘッダに書かないほうが良い。

そもそも標準ライブラリで用いられる識別子は、
名前空間の存在意義というのは、そもそもそのような衝突を防止するためにあるわけですので、
これでは標準ライブラリをnamespace stdでつつんでいる意味がありません。

(゚_゚)フムフム…

参考url
http://okwave.jp/qa/q3854747.html

11
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
8