我想知道為什么我們應該std在<algorithm>像max()這樣的header函式之前使用命名空間,而我們沒有義務在<cmath>像round()這樣的header函式之前使用它?
示例: max() round()
謝謝
uj5u.com熱心網友回復:
<cmath>本質上是math.c來自 C 標準庫的包裝器。
這個頭檔案最初在 C 標準庫中作為 <math.h>。(來源:https : //en.cppreference.com/w/cpp/header/cmath)
C 是(幾乎)C 的超集,這意味著 C 編譯器應該編譯幾乎所有用 C 撰寫的程式。因此,C 標準庫中的函式不屬于stdC 的概念命名空間。其他示例:printf, fopen. 當然,您可以自由地將 C 標準庫與 C 標準庫函式、常量、宏等混合使用。
對于 C 和 C 之間的不兼容性,請參見例如C 不是 C 的子集?
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/333422.html
上一篇:使用解構式完成任務
