gpt4 book ai didi

c++ - 为什么使用 而不是 <header.h>?

转载 作者:太空狗 更新时间:2023-10-29 21:01:56 27 4
gpt4 key购买 nike

<分区>

我一直认为如果你这样做 #include <cheader> (其中 header 是一些标准的 c++ 头文件,如 stdio/stdlib/string),它与 #include <header.h> 相同, 但包裹在 std 中命名空间。那么该代码片段如何编译 (g++ 4.7.3)?

#include <cstdlib>
int main()
{
malloc(1);
return 0;
}

为什么要包括 <cstdio>那么(而不是 <stdio.h> )标准 C 函数是否仍然位于全局命名空间中?

第二个问题是——我应该怎么做才能从全局命名空间中获取其中一些函数(同时使用 C++ 头文件)?例如,我不想要 malloc在全局命名空间中,因为我有一个 home 分配:编写我自己的内存分配器(特别是 mallocfree 函数),我将编译到动态库中并使用 LD_PRELOAD 插入任何程序.

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com