おまじない

C++では#includeとか、using namespace std;とかはとりあえず「おまじない」で済まされることが多い。
でも、ここら辺をおまじないなんて教えてしまうのは何か利点があるんだろうか?
#includeの説明なんて、めちゃくちゃ簡単だと思うんだけどな。
例えばHello, world!の次にでも、

// sample.txt
std::cout << "Hello, world!" << std::endl;
#include <iostream>

int main()
{
#include "sample.txt"
}

みたいなものを作らせればいいだけだと思う。
この方法で今すぐ思いつく問題は、これがごくありふれたコードだと勘違いされる可能性があるくらいしか思いつかない。
でも、「あくまで動作を示すための例である」としっかり言っておけばいいだけの問題だし、おまじないで済ませておくよりよっぽどいいんじゃないかな。


using namespace std;については・・・多分、教える側が理解してないんじゃないかな。
教える側も「おまじない」と思ってる、みたいな。
using namespace std;はすべてのincludeの後に記述しなきゃならないけど、そんなことを教えているような入門用の書籍*1はなかったように思う*2
これについては、使わなくてもいいんだから、Hello, world!レベルでは使わなければいいと思う。

#include <iostream>

int main()
{
    std::cout << "Hello, world!" << std::endl;
}

これでいいじゃん。

*1:と教師

*2:あとヘッダファイルには書くな、とかも