C和C++的区别 01.namespace
2017-03-20 17:39
204 查看
传统的C将所有全局变量编译到一个命名空间,不允许重名。但是C++是为了应对大型的软件设计而生的,所以命名自然多了许多。
为此C++开发了一种语法,叫命名空间,可以类比成厂家,C++把自己官方定义的系统函数放在了std(standard)空间下,我们使用using namespace std;这句话,则表示我们使用的是系统的这个命名空间。
我们也可以自己定义命名空间,格式是namespace 名字{};
如果我们已经选择了A厂家,但是想用个别的B厂家的东西怎么办呢?可以用:: 域作用符,就是两个冒号。
为此C++开发了一种语法,叫命名空间,可以类比成厂家,C++把自己官方定义的系统函数放在了std(standard)空间下,我们使用using namespace std;这句话,则表示我们使用的是系统的这个命名空间。
我们也可以自己定义命名空间,格式是namespace 名字{};
如果我们已经选择了A厂家,但是想用个别的B厂家的东西怎么办呢?可以用:: 域作用符,就是两个冒号。
#include <iostream> #include <stdio.h> using namespace std; // 不加这句,则需使用 :: 域作用符 std::cout //命名空间的定义 namespace NameSpaceA { int a = 0; } //嵌套定义 namespace NameSpaceB { int a = 1; namespace NameSpaceC { struct Teacher { char name[10]; int age; }; } } int main() { using namespace NameSpaceA; using NameSpaceB::NameSpaceC::Teacher; //使用命名空间里面的变量 printf("a = %d\n", a); //是默认的空间 0 printf("a = %d\n", NameSpaceB::a); //使用里面的定义 1 Teacher t1 = {"aaa", 3}; printf("t1.name = %s\n", t1.name); printf("t1.age = %d\n", t1.age); return 0; }
相关文章推荐
- 转:C++ 匿名namespace的作用以及它与static的区别
- C++小知识:iostream和iostream.h的区别以及namespace小解
- C++ 匿名namespace的作用以及它与static的区别
- C++ 匿名namespace的作用以及它与static的区别
- 【Java数据结构与算法01】 | 第1章--综述(Java与C++区别)
- C++中namespace和class的区别
- C++中namespace和class的区别
- c/c++ 复习基础要点01-const指针、指针函数 函数指针、new/delete与malloc/free区别与联系
- C++ 匿名namespace的作用以及它与static的区别
- C++回顾之C与C++区别_01
- More Effective C++ ——01_指针与引用的区别
- 2,3 c++中 #include< >头文件 和 命名空间 Using namespace std的解释和区别
- C++ 匿名namespace的作用以及它与static的区别
- C++ 匿名namespace的作用以及它与static的区别
- C++ 匿名namespace的作用以及与static的区别
- c和c++一些区别----01
- C++点滴:向函数中传递指针和传递指针的引用的区别:
- '&'和'*' (C++)的区别
- C++中引用和指针的区别
- C/C++数组名与指针区别深入探索