听说 .h后缀的文件是C语言的头文件,不是C++的。C++的头文件是不用.h结尾的吗?

举报 回答
听说 .h后缀的文件是C语言的头文件,不是C++的。C++的头文件是不用.h结尾的吗?
问在线客服
扫码问在线客服
  • 回答数

    5

  • 浏览数

    10

举报 回答

5个回答 默认排序
  • 默认排序
  • 按时间排序

没找到满意答案?去问豆包AI智能助手
取消 复制问题
已采纳
关于 C++的头文件是否不用.h 结尾的问题,需要明确的是,.h 作为头文件的后缀名只是一种习惯而非规定。对于 C++的标准库,其前身是带.h 的,但在内容上有一些区别,比如文件名不包含.h 的头文件中会使用命名空间 std 以防止命名空间污染,且在一些实现上也存在差异,例如标准输入输出使用了类模板等。此外,有些以模板为主的 C++库如 Boost 使用.hpp 作为头文件后缀,这也只是习惯。由于典型的语言实现往往会合并 C 和 C++,为了区分源文件是 C 还是 C++,通常会规定源文件后缀名,如.c 表示 C 源文件,.cpp 或.cxx 表示 C++源文件等。而 C++标准库的头文件和 C 标准库的头文件并无直接关联,除了都提供字符串操作外,在 C 标准库中的版本是,且是一个包含 std::string 的 class(std::basic_string 的实例),在 C 语言中没有对应版本
取消 评论
你是在linux下?
取消 评论
#includestdio.h在系统的库中作为头文件,里面囊括了很多信息。改为你的用法,文件调试时需要这些信息时就不能从库中调出这个头文件的信息。有的编译环境这时候会把所有的库文件都弹出来让你对比(那是针对其他不常用的头文件,系统也不确定是否是自己的库有问题,而stdio.h这个最常用所以只会报错)。如果你去库里面把里面也给改了,以后你的编译器就认准
stdio.a了。但别人就可能看不懂了,毕竟写程序不仅要实用,也要让使用者容易理解。
取消 评论
stdio.a 不是文本文件。 而是个静态库文件,里面包含标准输入输出函数。这个是在链接的时候才用的,而头文件是在预处理的时候用的。include 的 括号里可以不是 .h 文件, 还可以是 .c .cpp 等文件。只要是 文本格式、语法格式正确 都可以
取消 评论
不是这样的,是标准头文件.h一般是老的C的头文件,没有命名空间,C++的标准头文件一般没有h,有命名空间 std,所以不能说“.h后缀的文件是C语言的头文件,不是C++的”,一般自己定义的头文件都是以h为后缀的
取消 评论
ZOL问答 > 听说 .h后缀的文件是C语言的头文件,不是C++的。C++的头文件是不用.h结尾的吗?

举报

感谢您为社区的和谐贡献力量请选择举报类型

举报成功

经过核实后将会做出处理
感谢您为社区和谐做出贡献

扫码参与新品0元试用
晒单、顶楼豪礼等你拿

扫一扫,关注我们
提示

确定要取消此次报名,退出该活动?