新手问个弱智的有关问题,请指点一二

新手问个弱智的问题,请指点一二
下面这个新手程序
#include   <iostream>
int   main()
{
      std::cout < < "hello,world!\n ";
      return   0;
}
第一次,编译错误,错误提示   是不能找到iostream,然后我把   iostream换成iostream.h,继续编译,又失败,提示错误, 'std '   is   not   a   struct   or   a   class   name,然后我在网上找资料,我就直接把std::cout换成cout,编译成功
虽然编译成功了   ,但我很郁闷   ,这个程序   是我在书上原本抄下来的   ,我想程序本身应该没有什么问题的,清高手指点一二,十分感谢

该过的程序
#include   <iostream.h>
int   main()
{
      cout < < "hello,world!\n ";
      return   0;
}

------解决方案--------------------
#include <iostream>

int main()
{
std::cout < < "hello,world!\n ";
return 0;
}//程序很对,没有错.

#include <iostream>
using namespace std;
int main()
{
cout < < "hello,world!\n ";
return 0;
}//都可以.上种方法比较好.