1

#include<cstdlib>関数に必要な by を含める必要がabs()あることに気付きましたabs()

 #include<iostream>
    using namespace std;
    int main()
    {
        int result;
        result = abs(-10);
        cout << result << "\n";
        return 0;

    }

#include<cstdlib>重要なヘッダー ( )を忘れたのに、このコードがまだ機能するのはなぜですか?

4

1 に答える 1

8

これは、 のiostream定義が間接的に含まれているためabs()です。これは標準で許可されていますが、実装に依存するため (つまり、コードが他のコンパイラではコンパイルできない可能性があるため)、依存するべきではありません。

于 2009-12-23T09:53:58.653 に答える