c++拾遗-----开始学习c++
2015-12-08 23:10
162 查看
1、头文件名
.h作为头文件(header)的后缀名,只是习惯而非规定。对于C++的标准库,它的前身是带.h的,内容上最大的区别是文件名不包含.h的头文件中使用了命名空间std,以防止命名空间污染。
2、命名空间
1、定义及作用
命名空间实际上就是一个由程序设计者命名的内存区域,程序设计者可以根据需要指定一些有名字的空间域,把一些全局实体分别放在各个命名空间中,从而与其他全局实体分隔开来。
2、定义规则
在命名空间中可以包括
变量(可以初始化)
常量
函数(定义或声明)
结构体
类
模板
命名空间(嵌套定义,也可以引用其他命名空间)
命名空间可以是全局的,也可以位于另一个命名空间,但不能位于代码块中,命名空间是开放的,即可以把名称添加到现有的命名空间中
3、使用规则
using声明和using编译指令
using声明由限定的名称和它前面的关键字using组成,使特定标识符。using声明将特定名称添加到它所属声明区域中
using编译指令由命名空间名和它前面的关键字using namespace组成,使得整个所有名称可用
另:如果要让命名空间中的变量在其他文件中使用,需进行如下定义
.h作为头文件(header)的后缀名,只是习惯而非规定。对于C++的标准库,它的前身是带.h的,内容上最大的区别是文件名不包含.h的头文件中使用了命名空间std,以防止命名空间污染。
2、命名空间
1、定义及作用
命名空间实际上就是一个由程序设计者命名的内存区域,程序设计者可以根据需要指定一些有名字的空间域,把一些全局实体分别放在各个命名空间中,从而与其他全局实体分隔开来。
2、定义规则
在命名空间中可以包括
变量(可以初始化)
常量
函数(定义或声明)
结构体
类
模板
命名空间(嵌套定义,也可以引用其他命名空间)
命名空间可以是全局的,也可以位于另一个命名空间,但不能位于代码块中,命名空间是开放的,即可以把名称添加到现有的命名空间中
3、使用规则
using声明和using编译指令
using声明由限定的名称和它前面的关键字using组成,使特定标识符。using声明将特定名称添加到它所属声明区域中
//namespace_test.h文件 namespace test_namespace { int fetch; }
//namespace_test.cpp文件 #include<iostream> int fetch; int main() { using namespace std; //using声明,相当于在main函数中声明了fetch变量,不可再声明相同名称的变量 using test_namespace::fetch; //非法 //int fetch; cin>>fetch;//输入test_namespace::fetch,屏蔽全局变量 }
using编译指令由命名空间名和它前面的关键字using namespace组成,使得整个所有名称可用
//namespace_test.h文件 namespace test_namespace { int i; }
//namespace_test.cpp文件 #include"namespace_test.h" using namespace test_namespace; int _tmain(int argc, _TCHAR* argv[]) { i = 0; cout << "hello world!" <<i<< endl; system("pause"); return 0; }
另:如果要让命名空间中的变量在其他文件中使用,需进行如下定义
//namespace_test.h文件 namespace test_namespace { extern int i;//声明全局变量 }
//namespace_test.cpp文件 #include"namespace_test.h" namespace test_namespace { int i;//定义全局变量 }
相关文章推荐
- C++二叉树左右孩子的交换
- 汉诺塔(Hanoi Tower)步骤输出 C++
- C语言程序设计整理(3)
- C++Primer学习:模板特例化
- C++类成员函数的重载、覆盖和隐藏区别?
- C语言VS2010环境下打开文件容易出现的问题。
- C语言成长学习题(十六)
- VC++中的通知消息
- C++ 顺序容器
- C语言中二维数组的问题
- C++多态性
- 一起talk C栗子吧(第七十二回:C语言实例--DIY date命令)
- c语言复杂数据类型
- 队列
- c++函数返回引用
- C语言学习之路(1)
- 黑马程序员——C语言——常见内存分配函数和构造类型
- C语言1——基础
- c语言中位数的求法 防止越界
- 关于C++中的POD型别