当前位置:首页 > 健康 >

分号的特点和用处(分号的作用通俗易懂)

来源:原点资讯(www.yd166.com)时间:2022-12-02 04:04:52作者:YD166手机阅读>>

前言

一句话,宏定义就是全局替换和声明的一种方式!

我原本以为没必要详细了解,后来发现做错了题,纠结之后还是整理一下好了。

分号的特点和用处,分号的作用通俗易懂(1)

宏定义

掌握"宏"概念的关键是“”。一切以换为前提、做任何事情之前先要换!

不含参

#definePI3.1415926

把程序中出现的PI全部换成3.1415926

#defineendl'\n'

把程序中出现的endl全部换成字符'\n'

含参例子1

#include<iostream> #defineendl'\n' #defineSR(x,y)x y usingnamespacestd; voidsum1(){ inta=5,b=4; a =2*SR1(a,b); cout<<"sum1="<<a<<endl;//结果是19 }

第一步,先换:语句替换后成为a =2*a b

第二步,替换变量,语句替换后成为5 =2*5 4

第三步,计算式子,先是右侧公式计算结果为14,此时为5 =14;最后赋值到变量上,结果是19

例子2

#include<iostream> #defineendl'\n' #defineSR(x,y)((x) (y)) usingnamespacestd; voidsum2(){ inta=5,b=4; a =2*SR2(a,b); cout<<"sum2="<<a<<endl;//结果是23 }

第一步,先换:语句替换后成为a =2*((a) (b))

第二步,替换变量,语句替换后成为5 =2*(5 4)

第三步,计算式子,先是右侧公式计算结果为18,此时为5 =18;最后赋值到变量上,结果是23

例子3

#definefun1(a)a voidf1(){ cout<<"f1="<<fun1(12 3)<<endl;//结果是数字15 } #definefun2(a)"a" voidf2(){ cout<<"f2="<<fun2(12 3)<<endl;//结果是字符串a }

请看清楚,定义的后面究竟是参数本身还是带着双引号的字符串!

含参循环

#include<iostream> usingnamespacestd; //#definedoit(m,n)for(inti=0;i<(n); i){m =i;} #definedoit(m,n)for(inti=0;i<(n); i)\ {\ m =i;\ } intmain(){ inta=5,b=4; doit(a,b); cout<<a;//结果为11 return0; }

宏定义也是可以分行的!!!

宏定义也是可以运行循环的!!!

宏定义也是能让人栽跟头的!!!

宏定义语法特点含#和##
  • 使用#把宏参数变为一个字符串
  • ##把两个宏参数贴合在一起

#include<iostream> usingnamespacestd; #defineendl'\n' #defineSTR(s)#s #defineCONS(a,b)int(a##e##b) intmain(){ cout<<STR(vck)<<endl;//输出字符串"vck" cout<<CONS(2,3);//2e3输出:2000 return0; } #undefCONS #undefSTR

其实照我现在的理解,有这种复杂需求的话还是写成函数更合适一些。

单纯为了炫技的话,当我没说……

更多详细应用还是参考原文博客吧,传送门在文末。

特点
  1. 宏定义末尾不加分号
  2. 宏定义写在函数的花括号外边,作用域为其后的程序,可以用#undef命令终止作用域
  3. 宏定义可以嵌套
  4. 字符串""中永远不包含宏
  5. 宏定义不分配内存,想要分配内存去使用变量吧。
  6. 预处理不做语法检查。因为预处理是在编译之前的处理,而编译工作的任务之一就是语法检查
  7. 宏定义不做计算,只作替换
  8. 宏的哑实结合不存在类型,也没有类型转换。
优点

使用宏可提高程序的通用性和易读性,减少不一致性,减少输入错误和便于修改。

例如:数组大小常用宏定义。

与函数的区别

  1. 函数调用是在编译后程序运行时进行,并且分配内存。
  2. 宏替换在编译前进行,不分配内存

  3. 函数一般只有一个返回值,特殊情况下用pair也是一个对象,对象内两个值
  4. 宏则可以设法得到多个值
  5. 宏展开会使源程序变长,函数调用不会

  6. 函数调用占运行时间(分配内存、保留现场、值传递、返回值)
  7. 宏展开不占运行时间,只占编译时间
感谢

源文件:

gitee:https://gitee.com/JunKuangKuang/KeenCPPTest-all/tree/main/basic/define

github.com:https://github.com/JunKuangKuang/KeenCPPTest-all/blob/main/basic/define

感谢现在的好奇,为了能成为更好的自己。

王珂的个人笔记

栏目热文

分号的主要作用是(用分号的好处)

分号的主要作用是(用分号的好处)

一、顿号、逗号和分号1、顿号:表示句中最小的停顿,用顿号表示较长、较多或较复杂的并列成分之间的停顿时,最后一个成分前可用...

2022-12-02 04:17:33查看全文 >>

分号好处和坏处(分号的好处和坏处)

分号好处和坏处(分号的好处和坏处)

今天小呜看到一张图是曾经某校的 14 级软件工程的男生,给同校妹子做了一个条幅,内容是:for ( int i=0; i...

2022-12-02 04:37:52查看全文 >>

分号的作用和好处(用分号的好处)

分号的作用和好处(用分号的好处)

2022年秋季初一入学分班考试模拟卷语 文(满分100分)一、基础与运用(本题包括1-9题,共40分)1.下列加点字的读...

2022-12-02 04:18:52查看全文 >>

分号的用处大吗(分号一般用于哪里)

分号的用处大吗(分号一般用于哪里)

一、句号、叹号、问号句号表示陈述句末尾的停顿,叹号表示感叹句末尾的停顿,问号表示疑问句末尾的停顿。这三个都是句尾符号,在...

2022-12-02 04:18:17查看全文 >>

分号的作用及例子(分号的正确使用方法和举例)

分号的作用及例子(分号的正确使用方法和举例)

标点符号是语文学习不可缺少的内容,很多同学对标点符号掌握得不好,会影响作文写作,语言表达,所以,在平时的学习中务必让孩子...

2022-12-02 04:16:40查看全文 >>

分号一般在哪些地方用(分号是哪个符号)

分号一般在哪些地方用(分号是哪个符号)

标点符号用法很重要,不会用影响考试成绩,老师家长一定要教会孩子!句号一句末尾用句号,语气平缓调不高。读书见它要停顿,作文...

2022-12-02 04:10:55查看全文 >>

分号主要用来干什么呢(分号的五种作用)

分号主要用来干什么呢(分号的五种作用)

上一期,笔者给大家总结了学术论文里冒号的用法,这一期我们来总结学术论文里分号的正确使用方法,希望各位读者看完以后论文写作...

2022-12-02 04:32:20查看全文 >>

分号在什么情况下使用(分号的三种用法)

分号在什么情况下使用(分号的三种用法)

分号的使用表示复句内部并列分句之间的停顿,停顿比逗号要长。1、并列关系的分句内已用了逗号,并列分句之间必须用分号。例:他...

2022-12-02 03:57:02查看全文 >>

分号的用途(分号的三种用法)

分号的用途(分号的三种用法)

标点符号,从小学一年级一直考到高中,甚至大学语文还要考。不过在这里,我们只讨论小学语文的考察内容。(1)逗号长句子一口气...

2022-12-02 04:30:53查看全文 >>

分号的作用简短回答(分号作用6种及举例说明)

分号的作用简短回答(分号作用6种及举例说明)

《点号的用法及作用》考点综合全解考点梳理顿号(、) 用于句子内部并列词语之间的停顿。例如:作者描写了飞瀑、寺庙、蓝天、古...

2022-12-02 04:22:41查看全文 >>

文档排行