I am very curious why I can use the math functions in C++ without including the "math.h". I can't find an answer with google search.

Here is the simple code I am executing. Everything is compiling and running.

#include <iostream>

using namespace std;

int main()
{
    const float PI = acosf(-1);
    cout << PI << endl;

    return 0;
}
有帮助吗?

解决方案

Any standard header is allowed to include any other standard header.

其他提示

if you would compile the same with gcc-4.8 it would complain.

Keep in mind that this is not something to rely on if you want your code to be portable and compilable on different versions of the same or different compilers.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top