C++语言之预编译器

什么是预处理器?

答:在真正的编译开始之前由编译器调用的独立程序。预处理器可以删除注释、包含其他文件以及执行宏(宏macro是一段重复文字的简短描写)替代。

如何避免多重包含?

答: 

#ifndef SALESITEM_H 

     #define SALESITEM_H 

测试 SALESITEM_H 预处理器变量是否未定义。如果 SALESITEM_H 未定义,
那么 #ifndef 测试成功,跟在 #ifndef 后面的所有行都被执行,直到发现 
#endif。相反,如果 SALESITEM_H 已定义,那么 #ifndef 指示测试为假,该指
示和 #endif 指示间的代码都被忽略。


为什么要是#ifndef #define?

答:头件的中的#ifndef,这是一个很关键的东西。比如你有两个C文件,这两个C文件都include了同一个头文件。而编译时,这两个C文件要一同编译成一个可运行文件,于是问题来了,大量的声明冲突。

发布了54 篇原创文章 · 获赞 5 · 访问量 3万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章