|
|
1
17
这很好。最终,一切都会联系在一起。 我甚至见过代码,其中每个成员函数都在不同的*.cpp文件中。 |
|
|
2
6
这是合法的,它有一些(!?)优势。.. 如果将可执行文件与此类的静态库链接,则只有使用过的函数才能进入。这对于资源有限的系统非常方便。 您还可以隐藏某些函数的实现细节。两个人可能在不了解彼此的情况下实现一个类的某些部分。便于国防部项目。
|
|
|
3
4
不,它在技术上没有任何问题。链接器将把Foo的所有部分整合到最终的二进制文件中。 |
|
|
4
2
我一直在使用Apache Portable Runtime,它几乎做了这件事。你有一个标题,比如说
C++不是Java,所以你不必根据类名来选择文件名。 |
|
|
5
2
这是完全有效的。所有cpp文件都将链接在一起。 正如您所说,这有助于使非常大的实现文件更具可读性,并且由于每个cpp文件都是一个编译单元,因此您可以(ab)使用这一事实。(例如,未命名的命名空间) |
|
|
6
0
是的,这是合法的,事实上,像C#这样的新语言一直在做这种事情。 |
|
|
7
0
有两点可能值得考虑。 全类优化: 如果编译器在解析文件时拥有所有可见的成员函数(假设只有一个TU编译器),那么它可能能够在不同的成员函数之间进行优化。 代码审查 如果一个类的所有定义都在同一个TU中,那么这使得手动代码审查更容易。如果将定义拆分为不同的TU,这将大大增加手动审查所需的工作量,因为需要搜索相应的文件,并在窗口之间不断切换以获得“整体”画面。 |
|
AstralHex · 矩阵乘法代码工作不正常 1 年前 |
|
|
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 1 年前 |
|
|
Die4Toast · 递归调用成员箭头运算符-> 1 年前 |
|
|
Anka Hanım · 关于结构和动态数组地址的问题 1 年前 |