您的位置:首页 > 编程语言 > C语言/C++

C/C++基础——inline 与 宏

2016-02-23 09:36 267 查看
inline 是为补足宏定义缺乏类型检查的安全缺陷而提出来的,但 inline 仍有着另外的丰富的应用。

inline 是一类特殊的函数,宏不是函数

inline 是有类型检查的“宏”

inline 没有标准函数的运行时内存架构(建栈清栈)

一个在类内部完成定义的成员函数,而非简单的声明,视为 inline 函数处理

inline unsigned long add(unsigned long a, unsigned long b)
{ return a+b; }

for (unsigned long i = 0; i < 10000000; ++i)
{
a = add(a, i);
// 如果此时的 add () 是一个标准函数
// 将会在巨大的循环内部不停地建栈和清栈
// 但若声明为 inline,
// 含义相等于宏,原样替换
// 但编译器对一个标准函数而非宏的语法、语义检查也都在
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: