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