这可能是一个愚蠢的问题,但我很好奇
在c ++中定义类中的函数时,它会自动内联。
当你有2个类并且类'a'从类'b'调用一个函数时会发生什么,两个函数都在相应的头文件中定义,它们是否都是内联扩展的?
class a
{
void check_stuff()
{
b.do_stuff(param);
}
};
class b
{
type xyz;
public:
void do_stuff(type in)
{
xyz += in;
}
};
答案 0 :(得分:1)
它们都是内联扩展的吗?
函数是否内联以及函数调用是否内联展开并不直接相互关联。可以在不扩展的情况下调用内联函数,在某些情况下,可以内联扩展非内联函数。
是的,在内联展开的函数中扩展内联函数是可能的。