1.不带参数的宏定义:
宏定义又称为宏代换、宏替换,简称“宏”。
格式:
#define 标识符 字符串
其中的标识符就是所谓的符号常量,也称为“宏名”。
预处理(预编译)工作也叫做宏展开:将宏名替换为字符串。
掌握"宏"概念
转载
精选
2012-07-05 14:03:03
10000+阅读
C++ 宏定义将一个标识符定义为一个字符串,源程序中的该标识符均以指定的字符串来代替。预处理命令不同于一般C++语句。因此预处理命令后通常不加分号。这并不是说所有的预处理命令后都不能有分号出现。由于宏定义只是用宏名对一个字符串进行简单的替换,因此如果在宏定义命令后加了分号,将会连同分号一起进行置换。
转载
2012-11-18 10:18:00
319阅读
2评论
#define命令是一个宏定义命令,它用来将一个标识符定义为一个字符串,该标识符被称为宏名,被定义的.
转载
2023-05-18 17:15:19
79阅读
原创 闫小林 C语言入门到精通 2020-11-25收录于话题#小林C++代码基础95个点击上方“C语言入门到精通”,选择置顶第一时间关注程序猿身边的故事作者闫小林白天搬砖,晚上做梦。我有故事,你有酒么?C++宏定义学过C语言的读者,对宏定义应该不陌生,同样在C++中,也可以用宏定义命令将一个指定的标识符来代表一个字符串,宏定义的作用一般是用一个短的名字代表一个长的字符串。一般形式为:#defin
转载
2021-03-10 15:17:11
229阅读
C++宏定义学过C语言的读者,对宏定义应该不陌生,同样在C++中,也可以用宏定义命令将一个指定的标识符来代表一个字符串,宏定义的作用一般是用一个短的名字代表一个长的字符串。一般形式为:#define 标识符 字符串定义PI的符号常量:#define PI 3.14在C++中还可以用#define命令定义带参数的宏定义,一般形式为:#define 宏名(参数表) 字符串比如,定义宏正方形面积Area
转载
2021-06-23 10:14:05
1015阅读
@TOC(define)define的2种用法是预处理指令,有2种用法,定义数值和定义算式,defind在工程中不建议使用预处理指令是在编译之前发生的,就是生成预处理后的中间代码,将宏定义的数值替换掉程序中出现的宏定义变量定义数值按照如下方式定义数值,就可以在程序中使用了cppdefinePI3.14定义算式cppinclude<iostreaminclude"test.h"defineMAX(a
原创
2022-03-06 16:30:13
434阅读
c++,宏定义
很多大型的c++项目使用了很多的设计模式,其中就有很多宏定义,绕来绕去的很是头疼。同时,gcc编译的第一步预处理的时候会替换掉宏定义,这样相对来说就更好理解了。
gcc -E hello.c -o hello.i
预处理阶段包含:头文件展开,宏定义替换等
这里以nnvm项目中src/top/nn/convolution.cc为例,进行尝试。源文件中有宏定义:
DMLC_REG
原创
2021-09-06 17:32:11
365阅读
#pragma once
原创
2020-01-15 19:01:22
3823阅读
#include<iostream> void func(void) { char ch3[100] =__FUNCTION__; //返回当前函数名 std::cout << ch3 << std::endl; } int main() { char ch[250]= __FILE__; //返回
原创
2022-01-25 17:08:44
264阅读
原文: http://blog.csdn.net/t894690230/article/details/50605021 前言:突然想起很久之前上课时被问及C++ 宏定义与常量的区别,仔细了想了想,并没有答起(尴尬),这次就简单总结一下C++宏常量与常量的区别吧。 1. 宏定义 宏定义是C语言提供的
转载
2017-03-01 14:20:00
180阅读
2评论
一,宏定义宏定义是在编译前进行的,预处理1,基本语法#define A 1令代码中
原创
2023-03-17 11:12:13
96阅读
1、1个#用来将变量字符串化 #define toString(s) #s 打印:a 2、2个#用来连接两个字符串 #define link(a,b) a##b 这里的link(a,b)->ab,就是上面的变量 打印:0
转载
2020-09-04 23:11:00
255阅读
2评论
#表示:对应变量字符串化 ##表示:把宏参数名与宏定义代码序列中的标识符连prin...
转载
2022-10-31 19:24:09
111阅读
// #表示:对应变量字符串化// ##表示:把宏参数名与宏定义代码序列中的标识符连接在一起,形成一个新的标识符
转载
2022-08-01 12:26:06
512阅读
在我们平时的开发工程中,会经常使用到宏,它功能强大,用的好会带来意想不到的妙用。今天来整理下一些常见的用法,方便回顾。***************************************************************************************************************************#:将其后面的宏参数进行字符...
原创
2021-12-08 10:29:24
1345阅读
来源这些都是预定义宏(Predefined Macros),gcc还是vc还是sun提供的cc等编译器都会有这些预定义宏的。常见宏宏定义含义__FILE__当前文件名__FUNCTION__当前函数名__LINE__当前行号__DATE__当前编译日期__TIME__当前编译时间...
原创
2022-03-23 15:41:00
203阅读
给出我写的一个函数: //环境参数 预定义宏 void environment() { cout << "__DATE__ = " << __DATE__ << endl; cout << "__FILE__ = " << __FILE__ << endl;
原创
2014-04-06 21:25:00
417阅读
基本语法#if...#elif...#else...#endif多行宏定义#define把宏定义参数变成字符串#define相当于给x加上双引号。可用于debug时打印变量名#if#include <iostream>#define#else#define#endif把宏定义参数变成字符#define相当于给arg加上单引号。可变宏参数#define效果:p(fasd, 123);输出
原创
2022-10-14 15:02:40
117阅读
众多C++书籍都忠告我们C语言宏是万恶之首,但事情总不如我们想象的那么坏,就如同goto一样。宏有一个很大的作用,就是自动为我们产生代码。如果说模板可以为我们产生各种型别的代码(型别替换),那么宏其实可以为我们在符号上产生新的代码(即符号替换、增加)。关于宏的一些语法问题,可以在google上找到。相信我,你对于宏的了解绝对没你想象的那么多。如果你还不知道#和##,也不知道prescan,那么你肯定对宏的了解不够。我稍微讲解下宏的一些语法问题(说语法问题似乎不妥,macro只与preprocessor有关,跟语义分析又无关):1. 宏可以像函数一样被定义,例如: #define min(x,y
转载
2010-12-15 21:43:00
190阅读
2评论
_Pragma once操作符#pragma是一条预处理指令,简
原创
2023-05-21 22:52:22
102阅读