【C++】define宏定义

define宏定义

define是C语言中的一个宏定义命令,它用来将一个标识符定义为一个字符串,该标识符被称为宏名,被定义的字符串称为替换文本;

define <宏名> (<参数表>) <宏体>

操作符

  • # :可将参数转化为字符串;
#include <iostream>
using namespace std;# define print(xx , a , b) cout << #xx << a + b << endl;int main()
{print(加法:, 5 , 6);
}

编译输出:

加法:11
  • ##:连接两个参数成为一个整体
#include <iostream>
using namespace std;# define print(xx , a , b) cout << #xx << a##b << endl;int main()
{print(连接:, 5 , 6);
}

编译输出:

连接:56
  • \:具有续行的作用,下一行也是属于该宏定义;

  • 条件定义

#ifndef RADIXUN_LOG_H__ //如果为定义
#define RADIXUN_LOG_H__
#endif
#ifdef xx  //如果定义
#define xxxx
#else
#define xxxxx
#endif
  • 取消宏定义
#undef xx
  • 可变参数宏…和__VA_ARGS__

…:为参数列表中最后一项

# define print(xx , ... , xx) cout << #xx << __VA_ARGS__ << endl;//报错
#include <iostream>
using namespace std;# define print(xx , ...) cout << #xx << __VA_ARGS__ << endl;int main()
{print(XXXX:, 555);
}

编译输出:

XXXX:555

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/180962.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是Geo Trust OV证书

一、GeoTrust OV证书的介绍 GeoTrust OV证书是由GeoTrust公司提供的SSL证书&#xff0c;它是一种支持OpenSSL的数字证书&#xff0c;具有更高的安全性和可信度。GeoTrust是全球领先的网络安全解决方案提供商&#xff0c;为各类用户提供SSL证书和信任管理服务。GeoTrust OV证书…

如何使用ArcGIS实现生态廊道模拟

生态廊道是指一种连接不同生态系统的走廊或通道&#xff0c;其建立有助于解决人类活动对野生动植物栖息地破碎化和隔离化的问题&#xff0c;提高生物多样性&#xff0c;减轻生态系统的压力。在城市化和农业开发不断扩张的背景下&#xff0c;生态廊道对于野生动植物的生存和繁衍…

重生之我是一名程序员 44 ——字符串函数(3)

哈喽啊大家晚上好&#xff01;迄今为止我已近给大家介绍了2个字符串函数&#xff0c;今天呢再给大家带来一个字符串函数——strcmp函数。 首先呢还是先带大家认识一下它。strcmp函数是C语言中的字符串函数之一&#xff0c;用于比较两个字符串是否相等。 该函数原型为&#xf…

mysql中的锁及其作用

在MySQL中&#xff0c;锁是用于控制对数据库对象的并发访问的一种机制。锁可以防止多个事务同时对同一数据进行修改或删除&#xff0c;以确保数据的完整性和一致性。 MySQL中的锁有以下几种类型&#xff1a; 共享锁&#xff08;Shared Lock&#xff09;&#xff1a;也称为读锁&…

短视频运营常用的ChatGPT通用提示词模板

短视频定位和策划&#xff1a;请帮助我明确短视频的定位和策划&#xff0c;包括目标受众、主题、风格、内容等方面的内容&#xff0c;以便我能够更好地制定短视频运营策略。 短视频制作&#xff1a;请帮助我制作高质量的短视频&#xff0c;包括脚本编写、拍摄、剪辑、特效等方…

Hive安装与配置

你需要掌握&#xff1a; 1.Hive的基本安装&#xff1b; 2.Mysql的安装与设置&#xff1b; 3.Hive 的配置。 注意&#xff1a;Hive的安装与配置建立在Hadoop已安装配置好的情况下。 hadopp安装与配置 Hive 的基本安装 从 官网 下载Hive二进制包&#xff0c;下载好放在/op…

万人拼团团购小程序源码系统+拼团设置+拼团管理 附带完整的搭建教程

随着互联网的快速发展&#xff0c;电子商务和社交电商的兴起&#xff0c;团购作为一种高效的营销策略和消费方式&#xff0c;受到了广大消费者的热烈欢迎。在此背景下&#xff0c;我们开发了一款基于微信小程序的万人拼团团购系统&#xff0c;旨在为用户提供一种更加便捷、高效…

python爬虫进阶教程之如何正确的使用cookie

文章目录 前言一、获取cookie二、程序实现三、动态获取cookie四、其他关于Python爬虫技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集①Python工具包②Python实战案例③Python小游戏源码五、面试资料六、Pytho…

lxml 总结

xm 和 lxml库 哪个更好用点 1. 性能&#xff1a; lxml 通常比 xml.etree.ElementTree 更快。lxml 使用了 C 编写的底层解析器&#xff0c;因此在处理大型 XML 文档时可能更高效。 如果性能对你的应用很重要&#xff0c;特别是在处理大型 XML 文件时&#xff0c;选择 lxml 可能…

TrueLicense实现授权管理

1、生成前准备 在生成授权文件前&#xff0c;首先需要密钥对插入&#xff1a;密钥对分为公钥与私钥&#xff0c;私钥需要本地储存不泄露&#xff0c;公钥需要对外提供&#xff1b;私钥内部包含证书&#xff0c;对于授权文件进行数字签名&#xff0c;相当于加密的步骤&#xff0…

这款高性能分布式ID生成器,现在是你的了~

这是DDD&微服务系列的第17篇&#xff0c;欢迎持续关注~ 概述 在软件开发过程中&#xff0c;我们经常会遇到需要生成全局唯一流水号的场景&#xff0c;例如各种流水号和分库分表的分布式主键ID。特别是在使用MySQL数据库时&#xff0c;除了要求流水号具有“全局唯一”性外&…

VTK 读取、预处理、处理和可视化医学图像数据的过程

开发环境&#xff1a; Windows 11 家庭中文版Microsoft Visual Studio Community 2019VTK-9.3.0.rc0vtk-example demo解决问题&#xff1a; VTK 读取、预处理、处理和可视化医学图像数据的过程 图像读取和预处理&#xff1a; 程序使用 VTK 的图像阅读器vtkImageReader2Factor…

继电保护-变压器纵联差动保护MATLAB仿真模型

微❤关注“电气仔推送”获得资料&#xff08;专享优惠&#xff09; 原理概述 差动保护是在两端设置的保护&#xff0c;通过比较两端测回来的电气量&#xff0c;进而看是否需要动作&#xff0c;纵联差动保护是变压器主保护。 纵联差动保护基本原则 双绕组变压器实现纵联差动…

notepad ++ 常用快捷键 【程序员必看】

目录 notepad 常用快捷键 一 安装notepad 二 快捷键 三 改变主题 四 设置tab键 五 自动换行 六 自动补全 七 创建保存文件 八同时编辑两个文件 九保持Notepad代码高亮风格到网页或word中 十插件安装 十一使用notepad解决实际问题 CtrlC 复制 CtrlX 剪切 CtrlV 粘贴…

泄密零容忍!迅软科技打造设计图纸安全防线,助您无忧创作!

对于建筑设计、鞋服设计、动漫设计、平面设计等设计行业而言&#xff0c;海量设计图纸都以电子数据的形式存在企业的终端电脑上&#xff0c;这些图纸蕴含着企业的核心竞争资源&#xff0c;一旦泄露将给企业带来巨大的经济损失。 因此&#xff0c;迅软科技采用了先进的数据加密技…

Ruoyi-cloud / 若依 SpringCloud服务器部署

1、redis 环境 服务器安装redis &#xff0c;注意 密码 端口 2、mysql 环境 服务器安装 mysql 5.7 以上的版本 代码中的sql 文件夹中有 sql 文件 创建数据库ry-cloud并导入数据脚本ry_2021xxxx.sql&#xff08;必须&#xff09;&#xff0c;quartz.sql&#xff08;可选&…

同旺科技 USB 转 RS-485 适配器 -- 隔离型

内附链接 1、USB 转 RS-485 适配器 隔离版主要特性有&#xff1a; ● 支持USB 2.0/3.0接口&#xff0c;并兼容USB 1.1接口&#xff1b; ● 支持USB总线供电&#xff1b; ● 支持Windows系统驱动&#xff0c;包含WIN10 / WIN11 系统32 / 64位&#xff1b; ● 支持Windows …

使用vue-admin-template时,需要注意的问题,包括一定要去除mock.js注释

在使用vue-admin-template等前端框架时&#xff0c;如果你没有打算用他们的mock数据&#xff0c;在生产环境下一定要注释mock引用的代码&#xff0c;虽然它没有被调用&#xff0c;但是如果你不注释&#xff0c;就会被打包进去。 找到main.js&#xff0c;看如下代码&#xff1a…

读天下杂志读天下杂志社读天下编辑部简介

《读天下》杂志是国家新闻出版署批准,吉林省舆林报刊发展有限责任公司主管,吉林省舆林报刊发展有限责任公司主办的面向全国发行的艺术文化生活期刊。国内统一刊号&#xff1a;CN:22-1401/G2&#xff0c;国际标准刊号&#xff1a;ISSN:2095-2112。 《读天下》投稿邮箱&#xff1…

八、Lua数组和迭代器

一、Lua数组 数组&#xff0c;就是相同数据类型的元素按一定顺序排列的集合&#xff0c;可以是一维数组和多维数组。 在 Lua 中&#xff0c;数组不是一种特定的数据类型&#xff0c;而是一种用来存储一组值的数据结构。 实际上&#xff0c;Lua 中并没有专门的数组类型&#xf…