• 尽量不要使用using namespace std


    C++标准程序库中的所有标识符都被定义于一个名为std的namespace中。 

    namespace是指标识符的各种可见范围。命名空间用关键字namespace 来定义。命名空间是C++的一种机制,用来把单个标识符下的大量有逻辑联系的程序实体组合到一起。

    此标识符作为此组群的名字。

    如果我们使用了using namespace std, 而且我们在自己的程序中定义了一个函数toupper(),这将重写标准库中的toupper()函 数,这是因为这两个函数都是位于全局命名空间中的。

    那么我们的minm

    少在头文件中使用using namespace std,因为你的头文件可能被别人的cpp包含,那么这些cpp也默认就using namespace std了。这样的话可能会造成问题,例如在c++11和boost中都有shared_ptr,不指定namaspace或者using了两个namespace可能会造成混淆问题。
     
    一般说来,使用using命令使用using编译命令安全,这是由于它只导入了制定的名称。如果该名称与局部名称发生冲突,编译器将发出指示。using编译命令导入所有的名称,包括可能并不需要的名称。如果与局部名称发生冲突,则局部名称将覆盖名称空间版本,而编译器并不会发出警告。另外,名称空间的开放性意味着名称空间的名称可能分散在多个地方,这使得难以准确知道添加了哪些名称。


    using命令:using std::cout;
    using编译命令:using namespace std;

    不要在头文件使用using namespace std;

  • 相关阅读:
    《几何与代数导引》例2.7.2
    《几何与代数导引》例2.6
    《几何与代数导引》习题1.37.3
    《几何与代数导引》习题1.37.3
    《几何与代数导引》例2.7.1
    《几何与代数导引》例2.7.1
    《几何与代数导引》例2.7.2
    《几何与代数导引》习题1.38
    《几何与代数导引》例2.6
    Android ApiDemo 笔记(一)Content与Graphics
  • 原文地址:https://www.cnblogs.com/everydaykeepgoing/p/6857596.html
Copyright © 2020-2023  润新知