Antti_M:
Existe algum caso, onde falta um #include
iria quebrar o software em tempo de execução, enquanto a construção ainda passa por?
Em outras palavras, é possível que
#include "some/code.h"
complexLogic();
cleverAlgorithms();
e
complexLogic();
cleverAlgorithms();
seria tanto construir com sucesso, mas se comportam de forma diferente?
John :
Sim, é perfeitamente possível. Eu tenho certeza que existem muitas maneiras, mas suponha que o arquivo de inclusão continha uma definição de variável global que chamou um construtor. No primeiro caso, o construtor iria executar, e na segunda ele não iria.
Colocar uma definição de variável global em um arquivo de cabeçalho é estilo pobre, mas é possível.