在XCode中进行类分配时,我面临以下问题:
即使没有包含cstdlib和ctime之类的库,我创建的程序也可以毫无错误地编译和运行,并且可以正常运行,即使其中包含rand和time函数。同样,没有包含这些库的chrono,string和cctype库功能(如.length()或isdigit)似乎也可以正常工作。
我的程序唯一要编译的库就是cmath,因为它包含fabs函数。

那怎么可能?是否因为XCode使用Clang编译器的事实?

最佳答案

包括cstdlibctimechronostringcctype只会添加内置声明。有关现有头文件的列表,请参见http://en.cppreference.com/w/cpp/header。现在,对于所有这些规则,每个规则都可以间接包含其他任何规则。

关于您的问题,为什么必须包括cmath而不包括其他代码,请重新检查代码,我很确定其他代码也包括在内。特别是iostreamfstream倾向于间接引入许多其他 header ,尤其是stringcctype。但是,它可能不需要直接或间接的浮点数学函数,因此不会引入cmath

关于c++ - 包含库,同时在XCode中用C++进行编码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49473719/

10-11 23:12
查看更多