什么是宏?
计算机科学里的宏(Macro),是一种批量批处理的称谓。一般说来,宏是一种规则或模式,或称语法替换 ,用于说明某一特定输入(通常是字符串)如何根据预定义的规则转换成对应的输出(通常也是字符串)。这种替换在预编译时进行,称作宏展开。
什么是const?
CONST是一个C、C++语言的关键字,它限定一个变量不允许被改变。使用CONST在一定程度上可以提高程序的安全性和可靠性,另外,在观看别人代码的时候,清晰理解CONST所起的作用,对理解对方的程序也有一些帮助。
什么是枚举?
值类型枚举 (enumeration),是值类型的一种特殊形式,它从 System.Enum 继承,并为基础基元类型的值提供备用名称。枚举类型有名称、基础类型和一组字段。基础类型必须是一个内置的有符号(或无符号)整数类型(如 Byte、Int32 或 UInt64)。字段是静态文本字段,其中的每一个字段都表示常数。所使用的语言给每个字段都分配一个基础类型的特定值。
什么是内联?
以inline修饰的函数叫做内联函数,编译时C++编译器会调用内联函数的地方展开,没有
函数压栈的开销,内联函数提升程序运行的效率。
1.inline是一种以空间换时间的做法,省去调用函数额开销。所以代码很长或者有循环/递归的的函数不适宜使用内联。
2.inline对于编译器而言只是一个建议,编译器会自动优化,如果定义为inline的函数体内有循环/递归等等,编译器优化时会忽略掉内联。
3.inline函数必须声明与定义放在一起,才能成为内联函数,仅将inline放在声明前是不起不作用的。
4.定义在类内的成员函数默认定义为内联函数。类内定义,一边都是默认inline函数
宏的优缺点:
宏的优点:
1.增强代码的复用性。
2.提高性能。
宏的缺点:
1.不方便调试宏。(因为预编译阶段进行了替换)
2.导致代码可读性差,可维护性差,容易误用。
3.没有类型安全的检查。