对函数有什么要求,以便可以在c ++中内联执行?是否存在函数不能内联的情况?或者任何函数可以是内联的,程序员有责任根据运行时和编译时考虑来决定如何定义函数?
小智 5
这取决于你的意思.如果你的意思是,什么时候可以在线扩展函数,删除函数调用,那么这完全取决于编译器.它几乎可以内联任何函数,并拒绝内联几乎任何你要求它的函数.可能不会内联的函数包括递归函数,以及您已获取函数地址的函数.总的来说,最好不要考虑这么多.
inline关键字的主要用途不是请求内联,而是指示该函数可能在多个翻译单元中被#included而不会导致多个定义错误.