CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C++ 语言

一个初学者关于头文件的困惑

楼主vcchunhong(願意偽祢)2004-04-04 19:26:29 在 C/C++ / C++ 语言 提问

我在论坛上经常看到没有.h的头文件  
  我人为没有.h的头文件是不行的  
  但是不知道是我错了  
  还是其他人错了  
  又或者是他们人为大家都懂了  
  所以就省略了  
  请懂的朋友给我解释一下  
  谢谢~ 问题点数:20、回复次数:19Top

1 楼sunriselx()回复于 2004-04-04 19:30:40 得分 0

应该是省略了Top

2 楼lxh1010(匿迹)回复于 2004-04-04 19:32:39 得分 0

省略了Top

3 楼zfol510(第九)回复于 2004-04-04 20:03:00 得分 5

?不是省略了吧  
  标准C++的头文件就是不带.h的啊?因为引入名字空间。  
  比如  
  #include   <iostream>  
  using   namespace   std;  
  说明使用的是名字空间std  
   
  如果  
  #include<iostream.h>  
  的话,使用的是名字空间iostream(不确定,我没试过)就不能  
  using   namespace   std;  
  了,不知道说清楚没  
  Top

4 楼lifanxi(Byron)回复于 2004-04-04 20:15:30 得分 3

标准没有要求头文件必须有.h的后缀,而且C++标准库的头文件名就不含扩展名。  
  如果头文件实际上是有扩展名的,则不能省略。Top

5 楼freefalcon(心宇—消失中...)回复于 2004-04-04 20:17:04 得分 0

楼上说的是  
  不带.h的是标准c++的库文件,它引入了命名空间(namespace)  
   
  可以试试  
  当写#include   <iostream.h>时  
  下面的代码  
  cout   <<   "abc";  
  可以直接通过  
   
  而用#include   <iostream>  
  你不得不使用  
  using   namespace   std;  
  或者  
  std::cout   <<   "abc";  
  Top

6 楼littlebboy(小男孩儿)回复于 2004-04-04 20:34:51 得分 0

只有c++标准库文件可以不带.h,因为头文件的后缀在不同的c++实现产品上不同,标准c++文件并没有指定头文件后缀。Top

7 楼banquet(Everything will be well)回复于 2004-04-04 20:41:53 得分 0

用户自定义的头文件要加   .h  
  实现文件用.cppTop

8 楼vcchunhong(願意偽祢)回复于 2004-04-05 13:17:34 得分 0

哦其实说来说去是我不懂using   namespace   std;  
  的意思~  
  大体上我是懂的  
  结贴吧~Top

9 楼vcchunhong(願意偽祢)回复于 2004-04-05 13:48:10 得分 0

谢谢大家~Top

10 楼Wolf0403(废人:独活十年~心如刀割)回复于 2004-04-05 13:50:42 得分 0

编译器面前没有“省略”一说的,呵呵。  
  有没有   .h   的根本就是两套不同版本的   C++   标准库。  
  至于非标准库的,头文件可以是   .h,   .hpp,   .hxx,没有扩展名或者任意类型的   plain   text   文档。Top

11 楼zylfly()回复于 2004-04-05 15:05:07 得分 0

好像旧版本是用.h,新的是用     using   namespace   stdTop

12 楼vcchunhong(願意偽祢)回复于 2004-04-17 14:51:53 得分 0

其实早就该结了Top

13 楼xiangzhengyan(千里单骑走西藏)回复于 2004-04-17 20:08:09 得分 0

#include"filename"  
  到include目录下看看  
  既然有的文件没后缀名   当然不用.h啦  
   
  该完了Top

14 楼plpl574(飞天猪宝宝)回复于 2004-04-21 00:18:49 得分 0

这个问题被提过N遍了//包括我Top

15 楼xyj0323(好好学习,天天向上)回复于 2004-04-21 14:05:49 得分 0

学习一下。Top

16 楼eliner(eliner)回复于 2004-04-21 14:22:39 得分 0

使用了using   namespace   std的时候就可以不要.h  
  不然的后,就需要Top

17 楼byyyyy(苦行僧【苦】)回复于 2004-04-21 14:25:20 得分 0

采用了名字空间的问题Top

18 楼zhang5765(柠檬)回复于 2004-04-21 14:53:45 得分 5

在.NET编程里用iostrea.h的cout,cin.会通不过编译。但是可以用  
  <iostrea>与using   namespace   std;连用而使用cout,cin则是正确的。  
  可能有什么规定。具体细节偶也不太了解Top

19 楼aprilsnow(四月飞雪)☆(不再相信爱情)回复于 2004-04-21 15:24:23 得分 7

被   include   的文件是什么,就应该有一个什么样的相应文件。比如   #include   <abc>,就应该有一个叫做   abc   的文件。再比如   #include   <abc.h>,就应该有一个叫做   abc.h   的文件。Top

相关问题

  • 关于文件类型的困惑
  • 共享文件夹的问题,困惑
  • 文件写操作时的困惑
  • 打开文件时的困惑......
  • 关于这个XML文件的困惑
  • 头文件
  • 关于后缀为ovl文件的困惑?热切期待中。
  • 关于文件流COPY的困惑!!大虾请进!
  • 一个BAT文件的问题?狠困惑啊~~~~~~~~~~~~~~~
  • 在英文平台上写中文文件名的困惑

关键词

  • c++
  • 文件
  • 头
  • 省略
  • 标准
  • 名字空间
  • 比如
  • 使用
  • using namespace std
  • cout

得分解答快速导航

  • 帖主:vcchunhong
  • zfol510
  • lifanxi
  • zhang5765
  • aprilsnow

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo