因为头文件包含在多个源文件中,所以不应该含有变量或函数的定义
如:extern int ival =10;double fica_rate;这些都是不应该有的;
但是还有三个例外:
1、头文件可以定义类;
2、值在编译时就已知道的const对象;
3、inline函数;
这些实体可在多个源文件中定义,只要每个源文件中的定义是相同的。在头文件中定义这些实体,是因为编译器需要他们的定义来产生代码。
本文探讨了头文件在软件工程中的正确使用方式,强调了头文件不应包含变量或函数的定义,除了类定义、编译时常量及内联函数等特殊情况。文章详细解释了这些特殊情况为何可以在头文件中定义。
因为头文件包含在多个源文件中,所以不应该含有变量或函数的定义
如:extern int ival =10;double fica_rate;这些都是不应该有的;
但是还有三个例外:
1、头文件可以定义类;
2、值在编译时就已知道的const对象;
3、inline函数;
这些实体可在多个源文件中定义,只要每个源文件中的定义是相同的。在头文件中定义这些实体,是因为编译器需要他们的定义来产生代码。
1069

被折叠的 条评论
为什么被折叠?