C++学习笔记(1):命名空间与头文件

来源:互联网 发布:帝国cms仿站视频下载 编辑:程序博客网 时间:2024/05/18 01:56

一、C++的命名空间由来及作用

C++中,除了C++标准库之外,还存在一些公司为实现某些强大的功能封装了特定函数的非标准库(比如微软的MFC) ,所以c++变得更加强大,不仅可以直接调用标准库,还能调用别的公司封装好的库。但是,标准库与非标准库之间可能出现函数命名冲突的情况,因此就使用命名空间来标识某个函数是来自哪个库(某个库中的函数都定义在一个命名空间里面,如标准库定义在std命名空间里面)。


二、C++标准头文件

C++因为有了命名空间这一概念,导致传统C++下代码出现不兼容的问题(传统C++没有命名空间这一概念),所以C++标准委员针对这一现象制定了不带“.h”的标准C++头文件(如“iostream”头文件),替换传统C++带“.h”的头文件(如“iostream.h”),同时对于C头文件继续支持,不过将其改造为带“c”前缀的头文件(如“cStream”)。但是,尽管如此,传统C++的头文件还是可以非法使用。


三、头文件使用#ifdef预编译指令防止被多次包含

尽管函数与变量允许多次声明(头文件被重复包含就会出现重复声明),但这势必会使得编写的程序冗余臃肿,因此,有必要使用

#ifndef WHAT#define WHAT#endif
这一套预编译指令来防止头文件被多次包含的情况出现。



四、函数与变量的定义不能放在头文件内

头文件中尽量不要进行函数与变量的定义,防止重复定义。详细参考注意头文件规则,避免链接错误:重复定义(multiple defination)。




参考资料:

http://blog.csdn.net/u013162593/article/details/22823425

http://blog.csdn.net/phenixyf/article/details/46873483

https://zybuluo.com/uuprince/note/81709

http://www.360doc.com/content/10/0822/21/2869050_48013350.shtml

0 0
原创粉丝点击