- C++相談室 part144
217 :デフォルトの名無しさん[sage]:2019/08/02(金) 07:27:30.51 ID:uj4cDNt2 - だいたい標準ライブラリがvectorとあstringみたいなきわめて衝突しやすい名前を使っているのが悪い
諸悪の根源すぎて死ぬ std_vectorとかstd_stringとか衝突しにくい名前にすれば済んだ話 しかしそれだと標準ライブラリ内部のコードがダサくなって逝けてないから、という理由で導入されたのがstd名前空間。 所詮センスの問題なためにいつまでたっても議論が収束しない ここはRustのパッケージのようにパッケージが公開/非公開の唯一の境界、みたいに割り切って 名前空間の設定に論理的必然を持たせたらよかったんじゃ…
|
- C++相談室 part144
218 :デフォルトの名無しさん[sage]:2019/08/02(金) 07:35:54.09 ID:uj4cDNt2 - だいたいfoo::some_symbolと書いたときfooがクラスのときご名前空間のときがあって、
それぞれやれることが微妙に違いもあるがだいたいオーバーラップしているとか嫌すぐる… 疑問に思わないのはC++に脳が汚染されている証拠 後方互換性命で変えるな派と後方互換性を失っても改良すべき派の合意が見られない事案については 前者が勝って後者は追加で我慢するというWIN-win決着で永遠に先送りされつつ混迷だけが深まっていくのがC++の宿命
|
- C++相談室 part144
220 :デフォルトの名無しさん[sage]:2019/08/02(金) 07:42:20.24 ID:uj4cDNt2 - なにおうnamespaceがイミフな言語機能であることぐらいはよくわかっとるわ!
標準ライブラリ内部のコードにおいてもほとんどがテンプレートであるために、 using std;することが許されない つまり、std_vectorやstd_stringという風に名前を長くするのに対してなんのメリットも提供されていない
|
- C++相談室 part144
221 :デフォルトの名無しさん[sage]:2019/08/02(金) 07:43:02.09 ID:uj4cDNt2 - 訂正orz;
誤: using std; 正: using namespace std;
|