当我检查string.h文件中的声明时,我看到了以下内容:
friend inline void cat(const String&,const SubString&,const String&,String&);
inline friend void cat(const String&,const SubString&,const String&,String&);
它们之间有什么区别?
没有区别。friend
和inline
都是独立的声明说明符,可以按任何顺序指定。
不过,在友元声明中声明函数inline
没有多大意义。更一般地说,在任何非定义函数声明中指定inline
都没有意义。inline
在应用于函数定义时更有意义。
friend
和inline
修饰符可以独立使用,它们的顺序没有影响。例如,inline friend foo()
与friend inline foo()
相同。