关于c++的inline关键字,以下说法正确的是()

关于c++的inline关键字,以下说法正确的是()
A:使用inline关键字的函数会被编译器在调用处展开
B:头文件中可以包含inline函数的声明
C:可以在同一个项目的不同源文件内定义函数名相同但实现不同的inline函数
D:定义在Class声明内的成员函数默认是inline函数
E:优先使用Class声明内定义的inline函数
F:优先使用Class实现的内inline函数的实现

解析:
A 项错误,因为使用 inline 关键字的函数只是用户希望它成为内联函数,但编译器有权忽略这个请求,比如:若此函数体太大,则不会把它作为内联函数展开的。

B 项错误,头文件中不仅要包含 inline 函数的声明,而且必须包含定义,且在定义时必须加上 inline 。关键字 inline 必须与函数定义体放在一起才能使函数成为内联,仅将 inline 放在函数声明前面不起任何作用。

C 项错误, inline 函数可以定义在源文件中,但多个源文件中的同名 inline 函数的实现必须相同。一般把 inline 函数的定义放在头文件中更加合适。

D 项正确,类内的成员函数,默认都是 inline 的。定义在类声明之中的成员函数将自动地成为内联函数。

EF 项错误, class 的成员函数都是 inline 的,加了关键字 inline也没有优先问题。

猜你喜欢

转载自blog.csdn.net/WEIYANGBIN/article/details/110085673
今日推荐