当使用inline
修饰的函数定义在头文件中时,它的作用主要是为了避免函数重定义的问题。在C++中,每个函数只能在一个地方定义,如果在多个地方定义了同一个函数,编译器就会报“重定义”的错误。为了避免这个问题,可以将函数的定义放在一个头文件中,然后在其他需要使用这个函数的地方,只需要声明这个函数就可以了。
使用inline
修饰函数还有另外一个作用,就是告诉编译器将函数的调用处替换为函数的定义,这样就可以减少函数调用的开销,提高程序的执行效率。然而,需要注意的是,inline
只是给编译器的建议,编译器可以选择是否将其内联。即使一个函数被声明为inline
,编译器也可能忽略这个建议。
总的来说,使用inline
修饰的函数定义在头文件中时,主要是为了避免函数重定义的问题,同时告诉编译器将函数的调用处替换为函数的定义,以提高程序的执行效率。但是需要注意,inline
只是给编译器的建议,编译器可以选择是否将其内联。
xxx.h:
inline void resortData(char *pIn, char *pOut, int iLen)
{
for (int i = 0; i < iLen; i++)
{
pOut[i] = pIn[iLen - i - 1];
}
}