首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >C++应该去掉头文件吗?

C++应该去掉头文件吗?
EN

Stack Overflow用户
提问于 2009-04-15 17:20:21
回答 13查看 14.1K关注 0票数 74

许多语言,如Java、C#,都没有将声明和实现分开。C#有分部类的概念,但实现和声明仍然保留在同一个文件中。

为什么C++没有相同的模型?有头文件是不是更实用?

我指的是C++标准的当前和即将发布的版本。

EN

回答 13

Stack Overflow用户

回答已采纳

发布于 2009-04-15 17:37:17

我经常在C#和C++之间切换,C#中缺少头文件是我最大的烦恼之一。我可以查看一个头文件,了解所有我需要知道的关于一个类的信息--它的成员函数被调用了什么,它们的调用语法等等--而不需要费力地阅读实现这个类的代码。

是的,我知道部分类和#regions,但它们是不同的。分部类实际上使问题变得更糟,因为一个类定义分散在多个文件中。就#regions而言,它们似乎永远不会像我现在所做的那样进行扩展,所以我必须花时间扩展这些小加号,直到我得到正确的视图。

也许如果Visual Studio的智能感知在C++上工作得更好,我就不会有令人信服的理由不得不如此频繁地引用.h文件,但即使在VS2008中,C++的智能感知也无法与C#相提并论

票数 23
EN

Stack Overflow用户

发布于 2009-04-15 17:23:39

头文件允许独立编译。编译文件不需要访问实现文件,甚至不需要拥有实现文件。这可以使分布式构建变得更容易。

这也使得SDK可以更容易地完成。您可以只提供头文件和一些库。当然,其他语言也有解决这个问题的方法。

票数 34
EN

Stack Overflow用户

发布于 2009-04-15 19:17:05

就连Bjarne Stroustrup也称头文件是一堆废话。

但是,如果没有包含必要元数据的标准二进制格式(如Java文件或.Net PE文件),我看不到任何实现该特性的方法。剥离的ELF或a.out二进制文件没有您需要提取的太多信息。而且我不认为这些信息会存储在Windows XCOFF文件中。

票数 32
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/752793

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档