zoukankan      html  css  js  c++  java
  • 为什么要尽量避免使用using namespace std

      在C++中,为了避免命名冲突,我们可以通过namespace对各个类库、方法进行分割命名空间。

      如下所示:

    #include <iostream>
    #include <string>
    
    namespace fruit {
        void printColor(const std::string& name)
        {
            std::cout << "fruit name: " << name << std::endl;
        }
    }
    
    namespace vegetable {
        void printColor(const char* name)
        {
            std::cout << "vegetable name: " << name << std::endl;
        }
    }
    
    using namespace fruit;
    using namespace vegetable;
    
    int main()
    {
        printColor("apple");
        printColor(std::string("apple2"));
    
    }

    运行结果:

      由于此处的两个函数的参数不一致,发生了重载。同样,如果在我们的头文件中使用了using namespace std,

    就无意中导致扩大了std命名空间的影响到的域,导致std中的类、方法与其它域中同名的类、方法产生冲突混乱,

    实际使用的类、方法可能并不是我们希望使用的。给调试工作带来了不必要的麻烦。

  • 相关阅读:
    尘埃里的路人甲
    尘埃里的路人辛
    尘埃里的路人庚
    尘埃里的路人己
    尘埃里的路人戊
    尘埃里的路人丁
    C语言II博客作业04
    C语言II博客作业03
    C语言II博客作业02
    C语言II博客作业01
  • 原文地址:https://www.cnblogs.com/yangxunwu1992/p/13997495.html
Copyright © 2011-2022 走看看