1. 程式人生 > >iostream和iostream.h的區別

iostream和iostream.h的區別

也不能 處理 版本 namespace names space pre ace 需要

#include <iostream> //標準輸入輸出流
#include <iostream.h> //非標準輸入輸出流

C++中為了避免名字定義沖突,特別引入了名字空間的定義(namespace),當代碼中用<iostream.h>時,是繼承了C語言的標準庫文件的,沒有名字空間,因此不用(也不能)使用std::cout<<x;
當代碼使用<iostream>時,輸入輸出需要引用std::cout<<x;

有“.h”的就是非C++標準的,是C的標準庫文件,無“.h”的,就要用到命令空間,是C++標準庫文件。

同樣的還有如下幾個:
<string.h>

是舊的C頭文件,對應的是基於char的字符串處理函數;
<string>是包裝了std的C++頭文件,對應的是新的string類;
<cstring>是對應舊的C頭文件的std版本,基於char
的字符串處理函數。

iostream和iostream.h的區別