![]() |
1
7
您应该使用正向声明。自从
在实现文件中,您将包括
|
|
2
1
如果类X仅通过指针使用类Y,则应在声明类X之前使用类Y的前向声明。 将转发声明保存在一个单独的文件中是个好主意。 iosfwd is a standard example of this approach 如果类X以其他方式使用类Y,例如有一个类型为Y的成员,那么您需要类Y的完整定义,而正向声明就不行了。 |
![]() |
3
0
如果你引用的是同一个头文件的循环引用,一个常见的约定是将头包装在一个定义中,这样定义只包含一次,比如MyHeader.h文件:
同样得到广泛支持的还有
|
|
MRM · 避免由C++includes头引起的循环引用[重复] 12 年前 |