预处理内容

预处理是干什么的呢?

分为三点:

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

相关推荐
摩西蒙6 小时前
计算机网络
开发语言·计算机网络·php
山峰哥6 小时前
数据库性能救星:Explain执行计划深度拆解
服务器·开发语言·数据库·sql·启发式算法
wabs6667 小时前
关于图论【卡码网110.字符串迁移的思考】
数据结构·算法·图论
hanlin037 小时前
刷题笔记:力扣第242、349题(哈希表)
笔记·算法·leetcode
花生了什么事o7 小时前
synchronized 与 ReentrantLock:Java 锁机制原理与实现对比
java·开发语言
aramae8 小时前
C++ IO流完全指南:从C标准库到C++流式编程
服务器·c语言·开发语言·c++·后端
ZHOU_WUYI8 小时前
4. light wam 模型loss计算过程
开发语言·人工智能·python
_wyt0018 小时前
c++里的族谱:树
c++·
长不胖的路人甲8 小时前
Serial 串行、Parallel 并行、CMS 并发收集器
java·开发语言·jvm
only-qi9 小时前
大模型Agent面试攻略:落地工程痛点、评估体系与Agentic RAG核心精讲
人工智能·算法·面试·职场和发展·langchain·rag