c/c++程序的文件结构

文件结构:

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 <filename.h> 格式来引用标准库的头文件(编译器将从标准库目录开始搜索);

用#i ncl ude“filename.h” 格式来引用非标准库的头文件(编译器将从用户的工作目录开始搜索) 。

建议1:头文件中只存放“声明”而不存放“定义”。因为在 C++ 语法中,类的成员函数可以在声明的同时被定义,并且自动成为内联函数。这虽然会带来书写上的方便,但却造成了风格不一致,弊大于利。建议将成员函数的定义与声明分开,不论该函数体有多么小。

建议2:不提倡使用全局变量, 尽量不要在头文件中出现象 extern int value 这类声明。

4:头文件的作用

(1)通过头文件来调用库功能。在很多场合,源代码不便(或不准)向用户公布,只

要向用户提供头文件和二进制的库即可。用户只需要按照头文件中的接口声明来调用库

功能,而不必关心接口怎么实现的。编译器会从库中提取相应的代码。

(2)头文件能加强类型安全检查。如果某个接口被实现或被使用时,其方式与头文件

中的声明不一致,编译器就会指出错误,这一简单的规则能大大减轻程序员调试、改错

的负担。

时间: 2024-10-14 09:54:58

c/c++程序的文件结构的相关文章

第一个Android程序—认识文件结构

该程序任务:添加一个显示文本和一个按钮 对Activity的初步认识:就像一个窗口,能显示信息,又像一个容器,能容纳功能空间,如button,在程序角度上看,又像一个 类,可以和其他的类(Activity)发生联系. 创建Activity的要点: 一个Activity就是一个类,类名随意起,不过必须继承Activity这个父类. 需要复写onCreate()方法 每一个Activity都应该在AndroidManifest.xml文件中进行配置 为Activity添加必要的控件 整体文件代码预览

微信小程序开发框架_类MINA文件结构

微信小程序MINA文件结构 微信小程序包含一个描述整体程序的app和多个描述各自页面的page. 一个微信小程序主体部分由三个文件组成,必须放在项目的根目录,如下: 一个微信小程序的页面由四个文件组成,分别是: 页面逻辑注意:为了方便开发者减少配置项,我们规定描述微信小程序页面的这四个文件必须具有相同的路径与文件名. 原文地址:https://www.cnblogs.com/lanshu/p/9946598.html

scala eclipse sbt 应用程序开发

由于Scala有一个比较完备的Eclipse IDE(Scala IDE for Eclipse), 对于不想从eclipse迁移到Iea平台的Dev来说,如何方便.快速.有效得在Eclipse下编译打包开发Scala应用程序尤为重要.Sbt是类似Maven的一个构建工具,我们将使用它来构建发布程序. 本文会介绍搭建Eclipse开发Scala应用程序的一般步骤,并结合实例演示sbt工具在eclipse里是如何创建项目文件,和编译打包部署程序的. 这里做个备忘,也为初学者少走弯路而做出点小小的贡

微信小程序笔记(三)

一个简单的开始页面 3-2 官方种子项目介绍与小程序的文件结构 以ihhone6,750px的像素设计最佳:750x1334;

微信小程序之购物数量加减 —— 微信小程序实战商城系列(3)

我们在购买宝贝的时候,购物的数量,经常是我们需要使用的,如下所示: 在宝贝详情页里: 在购物车里: 现在就为大家介绍这个小组件,在小程序中,该如何去写 下图为本项目的图: wxml: <!-- 主容器 --> <view class="stepper"> <!-- 减号 --> <text class="{{minusStatus}}" bindtap="bindMinus">-</text&

构建有多个房间的聊天室程序

1. 程序概览 用户可以在一个简单的表单中输入消息,相互聊天.消息输入后会发送给同一个聊天室内的其他所有用户. 进入聊天室后,程序会自动给用户分配一个昵称,但他们可以用聊天命令修改自己的昵称,如图2-2所示.聊天命令以斜杠(/)开头. 同样,用户也可以输入命令创建新的聊天室(或加入已有的聊天室) ,如图2-3所示.在加入或创建聊天室时,新聊天室的名称会出现在聊天程序顶端的水平条上,也会出现在聊天消息区域右侧的可用房间列表中. 在用户换到新房间后,系统会确认这一变化,如图2-4所示. 2. 程序需

Android编程权威指南-读书笔记(二)-第一个小程序

Android编程权威指南-读书笔记(二) -第一个小程序 第一个例子介绍 应用名为GeoQuiz.用户通过单击True或False按钮来回答屏幕上的问题,GeoQuiz可即时反馈答案正确与否. 这个例子为我们简单介绍了几个基本组件的使用,以及基本的事件监听.让我们对基本组件的使用和事件的监听有一个基本的了解. 这篇文章分为2个部分,第一部分就是创建简单的UI.第二个部分就是对这个UI增加代码来响应一些操作. (注:所有不明白或者不理解的东西其实都不重要,后面都会有更详细的介绍.) 本章的目标

C++之“程序结构”

变量的类型 一.全局变量与局部变量 1.全局变量作用范围:文件作用域. 2.局部变量作用范围:函数作用域.块作用域和函数原型作用域. 二.存储类型 1.auto:默认的局部变量存储类型. 2.register:为提高执行效率,得以直接从寄存器中取出而定义的寄存器变量类型. 3.extern:对于左右模块共用的全局变量. 4.static:为可被下次调用时继续使用的全局静态变量类型. 程序的文件结构与编译预处理命令 一.文件包含 #include命令与宏定义 1.共同点:两者都为预处理命令,所谓预

Android开发实践(二)android程序结构简析

不说废话,就简单说说重要的Android程序的文件结构 Src目录包含项目里所有的源文件.当项目一创立,就会包含两个文件R.java和<活动> <activity>.java 总是根据你的活动来命名:相当于后台,处理所有的业务逻辑和控件的引用 R.java是一个由Android plugin自动产生并添加到你的应用程序中的文件.这个文件包含到drawable,layout和values目录的指针(或者目录里其它的项目).你不应当必须直接修改这个文件. gen :编译器为我们自动生成