c++ 工程里文件怎样组织?
Organizing Large C Programs虽然是英文,但图多字少,形象生动。
■网友
命名写成main.cpp也就意味着main()在这里面。如果东西不甚复杂,其他全部的东西一股脑全部扔在这一个文件里也是可以的。分成不同的文件是为了把软件分成不同的模块。一般来说.h头文件里写类和函数声明,即所谓“接口”,.c和.cpp里写定义。并不一定一个头文件对应一个cpp文件,他们之间的数量关系是很随意的。要求的只是如果用了声明的东西就要有定义。一个头文件可以对应多个定义文件;也可以用多个头文件定义不同部分的函数,但全部实现在一个.c或者.cpp文件里。如果要发布你的代码,而你想要闭源,一个办法就是只提供头文件,和编译好的静态库文件(.lib,.so之类)。在头文件里只有声明,别人看不到你的实现。而他在自己的代码里引用你声明的函数,只要在链接的时候把静态库加上,这些函数调用就可以顺利使用了。java没这么麻烦,声明定义是一体的,编译完了都是class文件如果开源的话就不太所谓,但是为了接口的整洁(也就是说别人看你的头文件能顺利知道有哪些函数,而不用被细节代码花了眼)尽量保持声明和定义的分离。可以参考《C语言接口与实现:创建可重用软件的技术》这本书,虽然只是说C,但是C++在这个问题上应该也是一样的。
推荐阅读
- 河北实施雨污分流改造工程全省分流制管网占比达98%
- 贵州在建骨干水源工程达到465座有效解决工程性区域性缺水问题
- 甘肃天水落地脱贫“基础工程”见效累计减贫92.08万人
- |看50岁老小区“返老还童”扬州老旧小区改造工程快速推进
- |第十四届省“五星工程奖”颁奖
- 白皮书一般是政府发布的正式报告或文件,那么现在物联网、智慧城市等热门领域这么多企业发布的白皮书算咋回事呢
- 三本的物联网工程有出路吗
- hadoop中的mapreduce链接(mapreduce chaining)怎样避免中间文件的产生
- 非计算机专业想要利用课余时间深入自学C++,想要找到比较体面的工作大概需要啥水平
- 电子信息工程考研有啥偏软件类的专业可以报考
