预处理内容

预处理是干什么的呢?

分为三点:

1.宏替换

2.头文件导入

3.删除注释


#ifdef

cpp 复制代码
#include <iostream>
// 定义一个宏,表示当前处于调试模式,在实际调试时可以定义这个宏,发布时取消定义

#define DEBUG MODE
int main(){
int num=10;
#ifdef DEBUG MODE
    std::cout<<"当前正在调试,变量 num 的值为:"<< num<<std::endl;
#endif
     std::cout<<"程序正常执行的其他输出"<< std::endl;
     return 0;
     }

#ifndef

cpp 复制代码
在头文件中写以下代码,当前头文件为 myHeader.h ,防止头文件被多次包含
#ifndef H_H //用这个,所有的字母都大写,点变成下划线
#define H_H
//以上两行和  #pragma once  等价

int a=2;
#endif

相关推荐
GIS阵地15 小时前
QgsRasterDataProvider 完整详解(QGIS 3.40.13 C++)
开发语言·c++·qt·开源软件·qgis
yaoxin52112316 小时前
462. Java 反射 - 获取声明类与封闭类
java·开发语言·python
阿里嘎多学长16 小时前
2026-07-14 GitHub 热点项目精选
开发语言·程序员·github·代码托管
charlie11451419117 小时前
Cinux: 为大内核铺路
开发语言·c++·操作系统·现代c++
2501_9142459317 小时前
C语言设计模式详解:从理论到实践的完整指南
c语言·开发语言·设计模式
Hazenix18 小时前
Go 指南:一篇文章速通 Golang
开发语言·后端·golang
灯澜忆梦18 小时前
GO_复合类型---指针
开发语言·后端·golang
Ulyanov18 小时前
雷达导引头Python仿真框架:GPU加速、6-DOF模型与半实物仿真接口
开发语言·python·雷达信号处理·雷达导引头
Jerry18 小时前
LeetCode 101. 对称二叉树
算法
名字还没想好☜19 小时前
Go slice 的 append 陷阱:共享底层数组导致的数据串改
开发语言·后端·golang·go·slice