我多次读到,类中定义的所有成员函数默认都是内联的。这是否意味着如果合适(即代码不包含任何循环或函数调用),编译器将始终将函数的主体代码放入堆栈?
最佳答案
all member functions defined inside a class are inlined by default.
不,默认情况下它们是内联
。
这意味着定义可以而且必须在使用函数的每个翻译单元中提供。对于成员函数,这意味着使用类的实例。
inline
对调用的机器代码内联也有提示作用。编译器可以在每次调用时自行决定遵循或忽略该提示。
关于c++ - 内联函数,内部类,C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52201987/