不使用理由1:跨平台。
反驳:不成立。因为XCODE GCC都支持预编译头文件。
不使用理由2:减少依赖,预编译文件中包含了很多头文件,一个cpp用不到这么多东西,他希望每个CPP精确最小包含需要的头文件。
反驳:不成立。预编译头文件中的东西多,导致每个CPP依赖的东西多,但是这种依赖多,一般是不会有明显坏处的;因为预编译头文件中的东西的定位本来就是打算被普遍使用的,被依赖一般不会有明显坏处。
不使用理由3:有时候想知道修改了一个头文件,影响了哪些东西。
反驳:不成立。因为一般来说修改了函数,我们会搜索函数在哪些地方使用了;修改了类,我们会搜索类。这两者之外,想知道修改头文件的影响,这个情况很少,实战很少遇到。而且,预编译头文件中的东西本来就定位是普遍被使用的,
就算不把那些头文件放预编译头文件中,也可能被很多CPP单独包含,这时候就跟被所有CPP包含区别不大了。
使用理由:
预编译头文件的好处是速度快;包含一些头文件在里面,提供大而全的内容,CPP中就不需要再包含了,省事。
总的来说,我个人是支持使用预编译头文件的。