我想知道C++和C的预处理器有多么不同.
问题的原因是关于预处理器特定问题的这个问题,其中解决问题的标准段落具有不同的措辞(和不同的段落编号),并且也是关于C++中的true和false关键字的差异.
那么,是否存在更多差异,或者这是唯一的区别.
问题的扩展是何时由C++预处理器和C预处理器以不同方式发出的源文件.
在C:The Complete Reference中,Herbert Schildt说
标头通常是文件,但它们不一定是文件.编译器允许在内部预定义标头的内容.但是,出于所有实际目的,标准c头文件包含在与其名称对应的文件中.
如何在不成为文件的情况下存在标题?这篇文章的主题是什么?因为.h文件扩展名与标题一起使用.
我在我的c ++项目中的每个头文件中使用#pragma once(或者你使用includeguardsàla #ifndef...).这是巧合还是你在大多数开源项目中找到的东西(避免只依赖于个人项目经验的答案).如果是这样,为什么不相反:如果我想要多次包含头文件,我使用一些特殊的预处理器命令,如果不是,我将文件保留原样.