inline放声明 还是定义 还是都放

来源:学生作业帮助网 编辑:作业帮 时间:2024/10/19 16:44:50
inline放声明 还是定义 还是都放
xRN@/. ؄c xKD A+?ӽlKbLėvwg93GIU-j l+O$:5iA\J4#"[NUH3]\Xtf$9Y: ev\4[:SIuu:FG67<V]ֲ,E6?Iqi#Zj#+} *˪KnR5 'F2_PP0 +hf9|VA0iAtVAg7#]b>o}3$#U:

inline放声明 还是定义 还是都放
inline放声明 还是定义 还是都放

inline放声明 还是定义 还是都放
inline 的函数必须和函数定义一起用才起作用,而且调用方必须能够看到这个函数的定义,如:
// a.h
inline void foo(void);
// a.c
inline void foo(void)
{
}
// b.c
#include "a.h"
void bar(void)
{
foo();
}
这种用法 inline 是不起任何作用的,只有这样:
// a.h
inline void foo(void)
{
}
// b.c
#include "a.h"
void bar(void)
{
foo();
}
这样才能真正的内联; 内联是在编译期间处理的,第一种情况,如果编译器编译 b.c 的时候,只看到 foo 的声明,而看不到其定义,编译器就没办法把 foo 函数内联到调用处!