C和C++中的翻译单元

use*_*214 12 c c++

C++和C中的翻译单元之间有区别吗?

在其他帖子中,我读到标题和源文件构成了一个翻译单元,但是单独的源文件可以在C++中被称为翻译单元,其中它包含一个文件中的所有定义吗?

R. *_*des 24

翻译单元不是"标题和源文件".它可能包括一千个头文件(以及一千个源文件).

翻译单元是预处理后通常称为"源文件"或".cpp文件"的单元.如果源文件#include是其他文件,则预处理器将这些文件的文本包括在翻译单元中.在这个问题上,C和C++之间没有区别.

  • @ user974191:你应该使用标题来避免一遍又一遍地复制你的代码.`#include`机制允许你编写一次并让编译器为你复制它:它虽然是代码组织的问题,但与翻译单元的概念没什么关系. (3认同)