是否有任何情况,如果缺少#include会在运行时破坏软件,而构建仍在进行?

换句话说,是否有可能

#include "some/code.h"
complexLogic();
cleverAlgorithms();


complexLogic();
cleverAlgorithms();

会成功构建,但行为有所不同?

最佳答案

是的,这完全有可能。我敢肯定有很多方法,但是假设包含文件包含一个称为构造函数的全局变量定义。在第一种情况下,构造函数将执行,而在第二种情况下,则不会执行。

将全局变量定义放在头文件中的样式很差,但是有可能。

10-07 16:44