c/c++程序的文件结构
发表于:2024-11-25 作者:热门IT资讯网编辑
编辑最后更新 2024年11月25日,文件结构:1.c/c++程序分两个文件a.头文件:用于保存程序的声明(".h"为后缀);b.定义文件:用于保存程序的实现(c以".c"为后缀,c++以".cpp"为后缀)。2.为防止头文件被重复引用,
文件结构:
1.c/c++程序分两个文件
a.头文件:用于保存程序的声明(".h"为后缀);
b.定义文件:用于保存程序的实现(c以".c"为后缀,c++以".cpp"为后缀)。
2.为防止头文件被重复引用,用#ifndef/#define/#endif 结构和#pragma once处理。
#ifndef/#define/#endif 结构和#pragma once区别:
#ifndef/#define/#endif 结构用来防止某个宏被多次定义,跨平台性好;
#pragma once用来防止某个头文件被多次include,移植性差。
3.用#i nclude
用#i ncl ude"filename.h" 格式来引用非标准库的头文件(编译器将从用户的工作目录开始搜索) 。
建议1:头文件中只存放"声明"而不存放"定义"。因为在 C++ 语法中,类的成员函数可以在声明的同时被定义,并且自动成为内联函数。这虽然会带来书写上的方便,但却造成了风格不一致,弊大于利。建议将成员函数的定义与声明分开,不论该函数体有多么小。
建议2:不提倡使用全局变量, 尽量不要在头文件中出现象 extern int value 这类声明。
4:头文件的作用
(1)通过头文件来调用库功能。在很多场合,源代码不便(或不准)向用户公布,只
要向用户提供头文件和二进制的库即可。用户只需要按照头文件中的接口声明来调用库
功能,而不必关心接口怎么实现的。编译器会从库中提取相应的代码。
(2)头文件能加强类型安全检查。如果某个接口被实现或被使用时,其方式与头文件
中的声明不一致,编译器就会指出错误,这一简单的规则能大大减轻程序员调试、改错
的负担。