C++ Prime:预处理器
2024-08-24 13:10:21
C++程序会用到的一项预处理功能是头文件保护符,头文件保护符依赖于预处理变量。预处理变量有两种状态:已定义和未定义,#define指令把一个名字设定为预处理变量,另外两个指令则分别检查某个指定的预处理变量是否已经定义:#ifdef当且仅当变量已定义的时候为真,#inndef当且仅当变量未定义时为真。一旦检查结果为真,则执行后续操作直至遇到#endif为止。
使用这些功能就能有效地防止重复包含的发生:
#ifndef SALES_H
#define SALES_H
……
#endif
第一次包含Sales.h时,#ifndef的检查结果为真,预处理器将顺序执行后面操作直到遇到#endif为止。此时,预处理变量SALES_H的值将变为已定义,而且Sales.h也会被拷贝到程序中。后面如果再一次包含Sales.h,则#ifndef的检查结果为假,编译器将忽略#ifedef到#endif之间的部分。
最新文章
- windows下C语言编程获取磁盘(分区)使用情况
- Python自动化之rabbitmq rpc client端代码分析(原创)
- puppet组织架构
- shell实现trim函数-去除字符串两侧的空格(包括tab,space键)
- CodeForces 560B Gerald is into Art
- [IO] C# DirFileHelper文件与文件夹操作类教程与源码下载 (转载)
- [C++程序设计]函数模板
- [ An Ac a Day ^_^ ] CodeForces 468A 24 Game 构造
- MultipleOutputs新旧api
- 【模版】AC自动机(简单版)
- 中科曙光I620-G15服务器登录密码破解
- 将double或则float类型保留小数
- docker简单入门之使用docker容器部署简单的java web开源项目jpress博客程序
- WINFORM 多条件动态查询 通用代码的设计与实现
- python---ORM之SQLAlchemy(4)relationship多对多练习
- uuid.uuid4().hex
- python的map/reduce区别
- 国外某牛人的JsonModelBinder 实现 MVC 3.0
- Linux笔记:linux常用命令
- 使用idea的的第一个坑-----javax.xml.ws.WebServiceRef