c++为什么将宏改进为内联、const
2015-11-17 14:31
288 查看
宏函数(c)-->内联(c++)
内联:先计算表达式的值,再进行传递;有参数类型和返回值类型;可以调试。
宏函数(带参的宏定义):不计算表达式的值,直接替换,可能导致计算出错(运算符顺序);无类型不安全;不可调试(在预编译阶段全部替换)。
宏(c)-->const(c++)
宏常量:简单的替换;没有类型。
const:有类型,安全。
const还可以修饰指针(两种方式):
1、const int *p: 表示指针变量所指的内存空间的值不许修改;
2、int const *p: 表示不允许修改指针变量的指向,但可以修改指针变量所指内存空间的值。
内联:先计算表达式的值,再进行传递;有参数类型和返回值类型;可以调试。
宏函数(带参的宏定义):不计算表达式的值,直接替换,可能导致计算出错(运算符顺序);无类型不安全;不可调试(在预编译阶段全部替换)。
宏(c)-->const(c++)
宏常量:简单的替换;没有类型。
const:有类型,安全。
const还可以修饰指针(两种方式):
1、const int *p: 表示指针变量所指的内存空间的值不许修改;
2、int const *p: 表示不允许修改指针变量的指向,但可以修改指针变量所指内存空间的值。
相关文章推荐
- C++中const的用法详细总结
- C/C++ 宏详细解析
- 获取内联和链接中的样式(js代码)
- c++中const的使用详解
- C语言基础知识点解析(extern,static,typedef,const)
- c++ 尽量不要使用#define 而是用const、enum、inline替换。
- 深入探讨:宏、内联函数与普通函数的区别
- php面向对象全攻略 (十) final static const关键字的使用
- c#.net中const和readonly的区别
- C++十六进制宏的用法详解
- C++中const的实现机制深入分析
- C++基础入门教程(二):数据、变量、宏等
- 解析:内联,左外联,右外联,全连接,交叉连接的区别
- 枚举和宏的区别详细解析
- 解析C语言中如何正确使用const
- 浅谈VC++中的内联
- C/C++中static,const,inline三种关键字详细总结
- 浅析c++ 宏 #val 在unicode下的使用
- C++ 中const 类型限定符不兼容问题
- C++ const修饰变量和修饰函数介绍