簡體   English   中英

C ++代碼缺少標頭運行,為什么?

[英]C++ code runs with missing header, why?

我只是意識到我應該包括abs()對於abs()函數所需的#include<cstdlib>

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

    }

即使我忘記了重要的標頭( #include<cstdlib> ),為什么此代碼仍然有效?

這是因為iostream間接包含abs()定義。 標准允許它,但不應依賴它,因為它取決於實現(即,您的代碼可能無法在某些其他編譯器上編譯)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM