C++ ユーザーズガイド

iostream ライブラリ

C++ 5.0 コンパイラには、2 通りの iostream が実装されています。

従来の iostream : この用語は、C++ 4.0、4.0.1、4.1、4.2 コンパイラに添付された iostream ライブラリ、およびそれ以前に cfront ベースの 3.0.1 コンパイラに添付された iostream ライブラリを指します。このライブラリの標準はありませんが、既存のすべてのコードがこれを使用しています。このライブラリは、互換モードの libC の一部であり、標準モードの libiostream にもあります。

標準の iostream : これは C++ 標準ライブラリ libCstd に含まれていて、標準モードだけで使用されます。これは、バイナリレベルでもソースレベルでも「従来の iostream」とは互換性がありません。

すでに C++ のソースがある場合、そのコードは従来の iostream を使用しており、次の例のような形式になっていると思われます。


// ファイル prog.cc
#include <iostream.h>

int main() {
    cout << "Hello, world!" << endl;
    return 0;
}

次のコマンドは、互換性モードで prog1.cc をコンパイル、リンクして、prog1 という実行可能なプログラムを生成します。従来の iostream ライブラリは、互換性モードのときにデフォルトでリンクされる libC ライブラリに含まれています。


demo% CC -compat prog1.cc -o prog1

次の例では、標準の iostream が使用されています。


//ファイル prog1.cc
#include <iostream>

int main() {
    std::cout << "Hello, world!" << std::endl;
    return 0;
}

次のコマンドは、prog2.cc をコンパイル、リンクして、prog2 という実行可能なプログラムを生成します。コンパイルは標準モードで行われ、このモードでは、標準の iostream ライブラリを含む libCstd がデフォルトでリンクされます。


demo% CC prog2.cc -o prog2