-3

C 標準ライブラリの各ヘッダーは、別の名前で C++ 標準ライブラリに含まれています。これは、.h を削除し、先頭に「c」を追加することによって生成されます。たとえば、「time.h」は「ctime」になります。これらのヘッダーと従来の C 標準ライブラリ ヘッダーの唯一の違いは、可能であれば関数を std:: 名前空間に配置する必要があることです (ただし、実際にこれを行うコンパイラはほとんどありません)。

c関数は名前空間に入れられるのでstd::、試しました:

man std::printf

しかし得た:

No manual entry for std:printf

理由はありますか?(インストールlibstdc++-docしましたが、正規の C++ のような問題はありませんman std::cout)

アップデート

C ++がジャンキーであると言う理由には、少なくとも次のものが含まれます。

  1. ジャンキー C++ マニュアル
  2. 空の C++ プログラムにはとが必要ですがlibstdc++、C プログラムには だけが必要です。libmlibgcc_slibc
4

2 に答える 2

2

標準 C に由来する C++ 関数が同一であり、既に文書化されている (のようprintfに) 場合、これらの関数を文書化しても意味がありません。

于 2011-06-11T16:05:23.050 に答える
2

C 標準ライブラリ関数の動作は、libstdc++ 開発者の制御外です。これは (これと他のほとんどの C++ 標準ライブラリの実装で) 基礎となるプラットフォームの Libc 実装に依存しています。Linux では、おそらく glibc であり、Windows では msvcrt などです...

要点は、これらのさまざまなライブラリはすべて、さまざまな非準拠の動作を提供するということです。これは、libstdc++ ドキュメントで文書化する必要があり、それを実行して維持することは不可能です (いや、非常に困難です)。また、このドキュメントは別の場所にあるため、実用的な目的もありません。

于 2011-06-11T16:09:10.980 に答える