C++ namespace 如何使用命名空间?

C++ namespace
如何使用命名空间?

namespace, 命名空间, 用于解决命名冲突的问题. Python中的package/module, Javascript中的object, Java中的package都具有这样的功能.

#include<iostream>
int main()
{
    std::cout << 1 << std::endl;
}

或:

#include<iostream>
using namespace std;

int main()
{
    cout << 1 << endl;
}

using关键字也是个directive(译为'指令'?), 在preprocessing时处理.(如何处理? 在新碰到declaration时加上namespace再reference?)