当前位置: 首页 > news >正文

C++中的##、#符号含义

在C++中,### 是两个不同的预处理符号。这些符号都是在C++的预处理阶段使用的,用于在代码编译之前对文本进行操作。

#(字符串化操作符): 用于将宏参数转换为字符串常量

#define STRINGIZE(x) #x
const char* str = STRINGIZE(Hello); // str 的值为 "Hello"

##(连接操作符):用于将两个宏参数连接在一起,仅仅是连接在一起,它并不知道宏参数会传入什么,以及连接在一起后是什么,同理于宏替换,仅仅是简单粗暴的替换。

#define CON(x, y) x##y
int xy = CON(3, 4); // 定义了一个名为 "xy" 的整数变量,其值为 34
http://www.lryc.cn/news/153827.html

相关文章:

  • 探究Vue3中的Composition API:优化组件逻辑的新利器
  • Google Services Framework 谷歌服务框架的安装以及遇到的常见问题
  • 学习高级数据结构:探索平衡树与图的高级算法
  • centos7离线安装neo4j
  • 【黑马头条之项目部署_持续集成Jenkins】
  • 前端自动化部署,Devops,CI/CD
  • 22 元类技术(面向切片编程)|ORM的实现|抽象类与接口类
  • fuchsia系统介绍
  • 解决Jenkins执行Python脚本不能实时输出打印信息的问题
  • 2021年03月 C/C++(五级)真题解析#中国电子学会#全国青少年软件编程等级考试
  • 【微服务】服务发现和管理技术框架选型调研
  • 【核磁共振成像】观共享重建
  • 〔020〕Stable Diffusion 之 骨骼姿势 篇
  • 使用Python进行Base64编码和解码
  • MongoDB的数据恢复与备份
  • Java之SpringCloud Alibaba【五】【微服务 Sentinel整合openfeign进行降级】
  • 电脑前置耳机没声音怎么办
  • package.json 详解
  • springboot配置ym管理各种日记(log)
  • 你知道Vue 3.0中Treeshaking特性吗?
  • TP6 开启关闭debug
  • Linux centos7 bash编程(break和continue)
  • 【论文精读AAAI_2022】MobileFaceSwap: A Lightweight Framework for Video Face Swapping
  • rust中使用sqlite 之 rusqlite使用
  • Linux系统Ubuntu配置Docker详细流程
  • 能直接运营的发接任务平台小程序搭建开发演示
  • React原理 - React Reconciliation-上
  • MySQL 主从复制与读写分离
  • Linux环境基础开发工具
  • uni-app+uView实现点击查看大图片的效果