Por que o std :: max e o std :: min ainda podem ser usados ​​mesmo se eu não incluísse <algorithm>?

#include <iostream>

int main()
{
   int value1 = 1, value2 = 10;
   std::cout << "Min = " << std::min(value1,value2) <<std::endl;
   std::cout << "Max = " << std::max(value1,value2)<< std::endl;              
} 

Tanto quanto eu sei, omin emax funções são definidas em<algorithm>.

Se eu não dissesse ao pré-processador para incluir<algorithm> Por que o código ainda funciona?

questionAnswers(2)

yourAnswerToTheQuestion