C++定义类为什么要分成两个文件?

256 天前
 huzhikuizainali

我的 oop 是在 matlab 中学的,一个文件就可以定义类了。刚看 C++的视频,定义类要两个文件。一个文件声明各种方法(.h),另一个文件写方法的具体内容(.cpp)。这是必须分成两个文件么?如果是必须的,C++为什么要强行分成两个文件?

883 次点击
所在节点    C++
3 条回复
codehz
256 天前
主要是历史问题,一开始这么做了,后面为了兼容也只能继续
历史上是性能问题(内存不够加载全部内容,只能分成头文件和实现文件)
现代 c++你是可以把所有内容全写 header 里的,所有声明都加上 inline 就可以了(然后就可以等着内存爆炸了)
xgdgsc
256 天前
只要你机器性能够好,不用分 https://github.com/p-ranav/awesome-hpp ,只用 hpp 项目依赖管理也会简单很多
cnbatch
256 天前
全部扔进 hpp 单个头文件也是可以的,并不是必须分开

除非是制作闭源 SDK 给别人用,不想暴露全部源码,那就唯有分开两个文件

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/969607

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX