C/C++预处理命令

  1. 防止重复包含头文件
#ifndef __文件名大写_H__
#define __文件名大写_H__
#endif // __文件名大写_H__
// c++
pragma once 较老编译器不支持,

以上两种方法都行。
优缺点:

  1. 第一点,可以针对部分代码,所有编译器都支持。缺点时要写很多
  2. 第二点,代码简洁,缺点较老编译器不支持。
#if, #ifdef, #ifndef, #else, #elif, #endif
// 这些命令让编译器进行简单的逻辑控制. 当一个文件被编译时, 你可以使用这些命令使某些行保留或者是去处.
#if expression //如果表达式(expression)的值是"真"(true),那么紧随该命令的代码将会被编译.
#ifdef macro //如果"macro"已经在一个#define声明中定义了, 那么紧随该命令的代码将会被编译.
#ifndef macro //如果"macro"未在一个#define声明中定义, 那么紧随命令的代码将会被编译.
//一些小边注: 命令#elif是"elseif"的一种缩写,并且他可以想你所意愿的一样工作. 你也可以在一个#if后插入一个"defined"或者"!defined"以获得更多的功能.
//这里是一部分例子:
#ifdef DEBUG
cout << "This is the test version, i=" << i << endl;
#else
cout << "This is the production version!" << endl;
#endif
//你应该注意到第二个例子比在你的代码中插入多个"cout"进行调试的方法更简单.
posted @   健康的大白菜  阅读(28)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示