以下是我引用别人的 “”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”
BEa$W[{www.linuxeden.com
q5K+eZi!n\.E 在群里看到这么一行代码:#include "iosteam.h"
xb
O9_;c
-D-w}/m&H~TLinux伊甸园论坛 开始我很吃惊,这人太有才了,佩服撒,居然想到用引号来写系统文件?干吗不用尖括号呢?当然了,这样子写,编译器不会有任何警告,也不会告诉我们这样子是错的,表面上看上去还真是没影响,其实不是的,下面说下这两种写法的一点点区别,希望对初学者有点帮助,从开始养成好习惯对以后会有很大的帮助的。
4t&O1~6HNW
`*P%T/i;i
n
#include 后的文件名用尖括号(<>)括起来,说明这个头文件是系统提供的,编译程序时,编译器会直接到系统目录下去查找该头文件并加载之。
7@w8Z(RmG5T #include 后的文件名用引号("")引起来,一般用于自定义头文件,当编译程序时,编译器会先到当前工程目录下去寻找该文件,如果找不到会再到系统目录下去寻找。如:我们采用多文件结构定义一个类的时候,类的声明写在:类名.h中,;类的实现写在类名.cpp中,我们需要在类名.cpp中加上头文件"类名.h";
)AKF$V@rQ/?L
%{(D_8x!y$R0lg;~www.linuxeden.com 另外,在标准c++中头文件是不带后缀.h的:
$q
va
dq+I
即:#include <iostream.h>应该写为#include <iostream>,也许有人会问,如果这样子写,不能在程序中直接使用cout/cin等,的确,因为采用#include <iostream>要包含命名空间std才能直接使用cout/cin,否则就要在该头文件中定义的函数/变量前加上std::来表示调用函数/变量的来源...
$HsQWfz
~Q u.f%CUbG
还有一点,大家会发现好多头文件是以字母c开头的,如:cmath,cstdio,cstring等,因为这些是继承的c的头文件,用来区分c++自己的头文件,c++中可以使用#include <math.h>来直接使用c的头文件,但是不赞成使用该方法,建议使用#include <cmath>.....
www.linuxeden.com0P.J@1Nx
Tp BCzeLazcLinux伊甸园论坛 以上是对c++中头文件的一点看法,有不对的地方请留言告诉我,或者耽误您的时间给我发邮件:
zjc196@163.com,您让我学到的任何知识,我都会感激的...
)q.d%TA6ugZ!q
L.Rwww.linuxeden.com
a^'aw8^j;^8a#sGLinux伊甸园论坛 写的有点乱....
do
pR3O@
[*_8Ut
Sh
^*[Wwww.linuxeden.com“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”
u#@
S6MH |Cawww.linuxeden.com,JF(wm9\#P\,i/W
1m)Q!@e9tLinux伊甸园论坛
4Q:]7\$`+DU^K_}1Ui我写的那个小程序中,把 cout ,endl写成,std::cout 和std::endl,就可以 通过编译了 ,我很感谢他。
S5g$@bg,z[
5uF;{8B L @1S6s希望给大家 有所帮助,
另外,我还是不清楚,怎么作就可以 直接用cout,endl,不知道怎么包含命名空间std。Linux伊甸园论坛/A"`5F]7h?
希望兄弟们,指点阿。
^7ay
vh3MseZR1L({[fj)k0Z
[
本帖最后由 rage_YAS 于 2007-6-4 18:53 编辑 ]