预处理内容

预处理是干什么的呢?

分为三点:

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

相关推荐
乐观勇敢坚强的老彭2 分钟前
C++信息学奥赛lesson1
java·开发语言·c++
jllllyuz8 分钟前
MATLAB实现滚动轴承故障诊断(外圈故障)
开发语言·人工智能·matlab
故渊at10 分钟前
第二板块:Android 四大组件标准化学理 | 第七篇:Activity 页面载体与任务栈算法
android·算法·生命周期·activity·任务栈
github_czy11 分钟前
更加优雅的类型检查与传参---mcp源码分析
java·服务器·开发语言
Irissgwe17 分钟前
C++ STL关联式容器详解:set、multiset、map、multimap
开发语言·c++·stl·set·map·multiset·关联式容器
兰令水17 分钟前
leecodecode【区间DP+树形DP】【2026.6.10打卡-java版本】
java·算法·leetcode
Irissgwe17 分钟前
string类的模拟实现
c++·string
叶帆25 分钟前
【YFIOs】用C#开发硬件之WiFi网络
开发语言·网络·c#
meilindehuzi_a29 分钟前
深入理解 JavaScript 的同步与异步机制:从单线程设计到 Promise 核心应用
开发语言·javascript·ecmascript