#include <iostream>与#include<iostream.h>区别?比如:前者要用std::cout
后者可直接用cout
为什么??

解决方案 »

  1.   

    <iostream>是采用.net的方法,要用name space(名称空间)。
    而.h还是用以前vc6的老用法,直接。name space有个好处,就是当你在几个自己的.h里定义同样的函数cout时,
    可以通过不同的名称空间前缀来区分它们,而不会混淆!
      

  2.   

    我也有个问题,为什么我已经#include <iostream.h>
    但用
    iostream is1;
    却老是报错:不能访问保护成员,我看了一个iostream.h,
    里面的构造函数iostream()确实是保护成员。但是,我要如何才能定义自己的stream变量呀,
    因为我是要用stream来处理字符串,而不是用cin,cout进行屏幕和键盘输入输出呀。
      

  3.   

    iostream是新C++标准所规定的头文件,其中所有定义均在名空间std中。
    iostream.h是标准出来之前库的实现厂家定义的,那时还没namespace的概念呢
    另:依C++标准,老的C运行时库头文件为原名加字符C的前缀,无扩展名,如
    旧的#include <stdlib.h>在新标准中该是#include <cstdlib>
    厂家为以前的程序着想,一般也认可以前定义的头文件
      

  4.   

    哈,我自己知道啦。
    必须用ostrstream来创建对象。但奇怪的是ostrstream可以用<<。
    但istrstream对象却不能用>>操作符,郁闷呀:(