define和inline关键字比较

来源:互联网 发布:unity5.5.1f1 for mac 编辑:程序博客网 时间:2024/06/07 05:35

    这里我们学习一下define和inline关键字的用法,以及它们的区别。

    define:定义预编译时处理的宏,只是简单的字符串替换,无类型检查

    inline:1、inline关键字用来定义一个类的内联函数,引入它的主要原因是用它替代C中表达式形式的宏定义,编译阶段完成。  2、内联函数要做类型安全检查,inline是指嵌入代码,在调用函数的地方不是跳转,而是把代码直接写到那里去,对于短小的函数来说,inline函数可以得到一定效率的提升,和c时代的宏函数相比,inline函数更加安全可靠,这个是以增加空间的消耗为代价的。


    ps:定义内联函数只是给编译器一个建议,但是最后的决定权还是在于编译器,如果函数的逻辑比较复杂(有循环递归之类的),此时则会内联失败。根据google编程规范,内联函数一般在10行以下,而且逻辑简单。


0 0
原创粉丝点击