开发东莞网站制作公司,wordpress 案例,网站前台和后台设计,2345网止导航一个中大型软件往往由多名程序员共同开发#xff0c;会使用大量的变量和函数#xff0c;当有两个人都同时定义了一个名字相同的全局变量或函数的时候#xff0c;若是把他们的代码整合在一块编译#xff0c;此时编译器就会提示变量或函数重复定义#xff0c;C为了解决这个问… 一个中大型软件往往由多名程序员共同开发会使用大量的变量和函数当有两个人都同时定义了一个名字相同的全局变量或函数的时候若是把他们的代码整合在一块编译此时编译器就会提示变量或函数重复定义C为了解决这个问题便引用了命名空间(namespace)的概念。 一.语法格式 namespace 是C中的关键字用来定义一个命名空间语法格式为 namespace name{//variables, functions, classes
} name是命名空间的名字它里面可以包含变量、函数、类、typedef、#define 等最后由{ }包围。 注意也可以不用写name,若定义了一个没有名字的命名空间则其内部的代码只能在这个文件里面用。 namespace {int myAge 0;
} 二.使用方法 若要使用命名空间中定义的变量或函数需要指名它们所在的命名空间如 #include stdio.h
#include iostreamusing namespace std;namespace DJ{int myAge 0;
}int main()
{DJ::myAge 5;cout my age is: DJ::myAge endl;return 0;
} ::是一个新符号称为域解析操作符在C中用来指明要使用的命名空间。 还可以这样写(直接使用using声明) #include stdio.h
#include iostreamusing namespace std;namespace DJ{int myAge 0;
}int main()
{using DJ::myAge;myAge 5;cout my age is: myAge endl;return 0;
} 在代码的开头使用using声明DJ:myAge,这样如果接下来的代码中出现了未指明命名空间的myAge,就使用DJ:myAge,不过要使用别的命名空间中定义的myAge,则仍然需要显示声明。 还可以写成这样 #include stdio.h
#include iostreamusing namespace std;namespace DJ{int myAge 0;
}int main()
{using namespace DJ;myAge 5;cout my age is: myAge endl;return 0;
} 如果命名空间 DJ中定义的其他的变量样具有 myAge变量的效果。 命名空间内部不仅可以声明或定义变量对于其它能在命名空间以外声明或定义的名称同样也都能在命名空间内部进行声明或定义例如类、函数、typedef、#define 等都可以出现在命名空间中。 三.std命名空间 新建一个纯C项目(QT)时,QT默认新建的main.cpp文件如下 #include iostreamusing namespace std;int main()
{cout Hello World! endl;return 0;
} 其实是省略了cout的命名空间也可以写成这样 #include iostreamint main()
{std::cout Hello World! std::endl;return 0;
}