预处理内容

预处理是干什么的呢?

分为三点:

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

相关推荐
Bear on Toilet16 小时前
递归_二叉树_49 . 路径综合Ⅲ
数据结构·算法·前缀和·深度优先·递归
CHANG_THE_WORLD16 小时前
深入指针3 - 完全精讲版
数据结构·算法
im_AMBER16 小时前
Leetcode 124 二叉搜索树的最小绝对差 | 二叉树的锯齿形层序遍历
数据结构·学习·算法·leetcode·二叉树
m0_5312371716 小时前
C语言-static关键词,寄存器变量,define宏定义
c语言·开发语言
ADDDDDD_Trouvaille16 小时前
2026.2.14——OJ78-82题
c++·算法
Hag_2016 小时前
LeetCode Hot100 560.和为K的子数组
数据结构·算法·leetcode
田里的水稻16 小时前
FA_规划和控制(PC)-规律路图法(PRM)
人工智能·算法·机器学习·机器人·自动驾驶
追随者永远是胜利者16 小时前
(LeetCode-Hot100)23. 合并 K 个升序链表
java·算法·leetcode·链表·go
ab15151716 小时前
2.16完成107、108、111
算法
CHANG_THE_WORLD17 小时前
C++ 一维、二维、三维数组完整演示
开发语言·c++