Oracle® Solaris Studio 12.4: C++ ユーザーズガイド

印刷ビューの終了

更新: 2014 年 12 月
 
 

11.4.1 iostream ライブラリ

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

  • 従来の iostream。この用語は、C++ 4.0、4.0.1、4.1、および 4.2 コンパイラに付属する iostream ライブラリを表し、以前は cfront ベースの 3.0.1 コンパイラに付属していました。このライブラリに標準はありません。これは libiostream で使用できます。

  • 標準の iostream。これは、ユーザーが使用する標準 C++ ライブラリ (libCstdlibstlportlibstdcxx、または g++ 実行時ライブラリ) のバージョンの一部です。標準バージョンの iostream は、従来の iostream ライブラリとバイナリ互換でも完全なソース互換でもありません。

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

// file prog1.cc
#include <iostream.h>

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

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

// file prog2.cc
#include <iostream>

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

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

example% CC prog2.cc -o prog2

11.4.1.1 従来の iostream についての注意

いわゆる「従来型の」iostream は、iostream の 1986 オリジナルバージョンで、C++ 標準で置き換えられました。これは、-library=iostream オプションを使用して選択されます。「従来型の」iostream の実装はどれも同じでなく、廃止される場合は別として、これを使用するコードには移植性がありません。このライブラリとオプションは、将来の Oracle Solaris Studio リリースで中止されます。