cstdio Stdio.h 命名空間
cstdio Stdio.h 命名空間
在 的C 參考文件中,它聲稱所有庫元素都駐留在std命名空間內。然而,實驗表明 std::printf 和 printf 函數呼叫都可以工作。這是否表示 C 頭檔案將符號名稱匯入 std 和全域命名空間?
答案
包括
將符號名稱匯入 std 命名空間中,並且可能全域命名空間。相反,包含 將符號名稱匯入到全域命名空間中,也可能將它們合併到 std 命名空間中。 此行為擴展到所有 C 樣式標頭。根據C 11 標準(附錄D),C 標準庫頭的行為如下:"2 每個C 頭,每個頭都有一個name.h 形式的名稱,其行為就好像每個名稱都放置在在標準庫命名空間中通過相應的cname 頭放置在全域命名空間範圍內。中聲明或定義,然後透過注入到全域命名空間中using-聲明,反之亦然。