ブックマーク / teratail.com (1)

  • 【C++】なぜヘッダと実装はわけるべきなのでしょうか(.hに実装を書くことは邪道か)

    私はC++歴3年の学生趣味プログラマーです。 「C++はなぜヘッダと実装を分けなくてはならないのか/そもそも当に分けなければならないのか」という質問です。 C++といえば、ヘッダー部と実装部を.hファイルと.cppファイルに分けることが一般的とされている言語ですが、 これは同じオブジェクト指向言語のC#やJavaにはない特徴です。 そのせいでC++使いたちは今日もcppファイルとhファイルを行ったり来たりしながらコーディングする羽目になっています。(そしてVS使いはF12とCtrl+-を得意気に連打しています。) 私にとってもそれが当たり前になって久しいですが、 時々C++を学び始めたばかりの後輩から「なぜヘッダファイルに実装を書いてはならないのか」「なぜC++は二度も同じコードを書くことを強いるのか」と質問を受けます。 私はそのたびに「実装の隠蔽化」とか「循環参照の危険が云々」とか「そ

    【C++】なぜヘッダと実装はわけるべきなのでしょうか(.hに実装を書くことは邪道か)
    junf
    junf 2015/06/10
    ヘッダとソースを分離「できる」ようにする事で処理系が効率的にコンパイルできる機会を作っているのであって、分離「しなければならない」わけではない。でも、各言語のコンセプトに従わないと、その言語の良さが失
  • 1