Mug*_*nth 5 c c++ coding-style objective-c
有些人习惯将头文件import/includes添加到头文件中.另一方面,在头文件中编写前向声明并在实现文件中写入实际的#include或#import行.
这有一个标准的做法吗?哪个更好?为什么?
Ton*_*roy 10
给定Xh和Xc,如果你#include是Xh的所有内容,那么"X"的客户端#include <X.h>也会包含所有这些头文件,即使有些可能只在Xc中需要
Xh应该只包括解析Xh所需的内容它应该假设翻译单元不会包含其他标题,以确保重新排序包含不会破坏客户端.Xc应包括实现所需的任何额外内容.
这最小化了重新编译依赖性.您不希望仅对实现进行更改以影响标头,从而触发客户端重新编译.您应该直接从Xc包含