私は名前空間を正しい(または少なくとも最良の)方法で使い始めようとしています。
私が最初にやろうとしたことusing namespace xxx;は、ファイルの先頭に置かないようにすることでした。using xxx::yyy代わりに、私は可能な限りローカルにしたいと思います。
これを説明する小さなプログラムは次のとおりです。
#include <iostream>
#include <cstdlib>
#include <ctime>
int main() {
using std::cout;
using std::endl;
srand(time(0));
for(int i=0; i<10;++i)
cout << rand() % 100 << endl;
return 0;
}
using std::cout;行またはを省略した場合、またはusing std::endlを使用しようとするとコンパイラが文句を言います。coutendl
しかし、なぜこれは、、およびに必要ないのsrandですrandかtime?std私がそれらの前に具体的に注ぐことを試みた場合std::、私のコードは正常に機能しているので、私はそれらが入っているとかなり確信しています。