我知道根据定义,内联成员函数应该放在头部。但是,如果不可能将函数的实现放入标头中,该怎么办呢?让我们看看这个情况:
文件 A
#pragma once
#include "B.h"
class A{
B b;
};
文件 B.h
#pragma once
class A; //forward declaration
class B{
inline A getA();
};
由于通知的包含,我不得不把 getA
的实现放进去
心肺复苏
#include "B.h"
#include "A.h"
inline A B::getA(){
return A();
}
编译器会内联 getA
吗?如果是,那么哪个 inline 关键字是有意义的关键字(标题中的关键字或。Cpp 文件) ?是否有其他方法将内联成员函数的定义放入其。Cpp 文件?