是否有任何情况,如果缺少#include
会在运行时破坏软件,而构建仍在进行?
换句话说,是否有可能
#include "some/code.h"
complexLogic();
cleverAlgorithms();
和
complexLogic();
cleverAlgorithms();
会成功构建,但行为有所不同?
最佳答案
是的,这完全有可能。我敢肯定有很多方法,但是假设包含文件包含一个称为构造函数的全局变量定义。在第一种情况下,构造函数将执行,而在第二种情况下,则不会执行。
将全局变量定义放在头文件中的样式很差,但是有可能。