C++ using 用法
最近在看stl list的实现代码时发现了这样的几句:
- C/C++ code
protected: using _Base::_M_node; using _Base::_M_put_node; using _Base::_M_get_node;
原来只见过using namespace,这种用法从来没遇到过。哪位大牛能给讲解一下啊?万分感谢。
[解决办法]
首先你要知道命名空间。其实我们的教材上经常用的using namespace std是不明智的。在正常的项目中却很少这样做。因为如果你引用了整个命名空间,那么这个命名空间里面的所有的东西都暴露出来了,比如你使用了using namespace std,那么如果你自己定义一个list,那你就和std里面的list冲突,而如果你不引用std,你完全可以自己定义list。所以为了方便使用命名空间的定义,又防止太多的东西暴露出来,所以,你可以使用using std::list,那么在你的代码中可以使用list,却不会引用到std其它的东西。