Visual Studio видит math.h, хотя я не подключал. C++
Я думаю, у многих проблема в том, что заголовочные файлы visual studio не видит. У меня наоборот. Видит, то что я не хотел. Произошло это после обновления на новую версию.
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
long long a1, a2, a3, a4;
cin >> a1 >> a2 >> a3 >> a4;
cout << (int)sqrt(min(a1, a2) + min(a3, a4));
}
Данный код работает, хотя не должен: функция sqrt() не должна быть определена так, как я не подключил math.h. Хотя если отключить допустим algorithm, то функцию min() он не видит.
В чем может быть проблема? Я в настройках проекта вроде ничего не менял.
Ответы (1 шт):
Видите ли, в стандарте оговорено, что должно содержаться в том или ином заголовочном файле, а не чего в нем не должно быть.
Поэтому в конкретном компиляторе один заголовочный файл может потянуть другой. Что не отменяет необходимости для переносимости включать нужный файл...

