来自C#背景,我发现头文件真的很烦人。即使使用C ++ 11,它们也是必需的吗?
答案 0 :(得分:2)
C ++需要头文件(以及libs),就像C#需要引用程序集一样。
答案 1 :(得分:1)
是的,因为它仍然基于C.你可以回答你自己的问题:不要使用它们并尝试在没有它们的情况下进行编译。如果你不能,那么编译器仍然需要它们。
我并不是说这是一种同义反复。如果语言规范仍然需要它们,并且编译器符合规范,那么改变就需要付出巨大的努力。辩论需要很长时间。这听起来像一个问题,仅仅是为了发泄和辩论而没有真正的目的。
答案 2 :(得分:0)
是的。假设您要开发DLL或SO。开发人员应该如何知道这个库提供哪些功能?因此,他需要一个名为API的原型来包含在自定义项目中。这样就可以将声明和实现分开。您声明哪些功能可用,但您始终可以更改内部代码。