2013-11-03 32 views

回答

3

它带来? std::setw;成范围。

using std::setw; 
// setw can now be used without qualifying it with std:: 

当心ADL的时(不小心)将不合格setw到用户定义的类型的值。

1

setw在命名空间std定义为

namespace std{ 
    void setw(int) {..} 
}; 

,如果你想使用它,你要么使用std::前缀或包括命名空间到你的项目像这样

using namespace std; 

后者也不是很大,因为它可能会导致你的代码命名冲突

编辑:或@rightfold提到

+0

+1对于使用命名空间std的邪恶; – namezero

相关问题