我正在尝试以正确(或至少最好)的方式开始使用命名空间。
我尝试做的第一件事是避免放在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;
}
如果我省略了 or 行using std::cout;,using std::endl当我尝试使用coutor时编译器会报错endl。
srand但是为什么,rand和不需要这个time?我很确定他们在 中std,因为如果我尝试专门倒std::在他们面前,我的代码工作正常。