よくある質問
[編集] このサイトの目的は何ですか?
私たちのゴールは C および C++ の言語および標準ライブラリに対する完全なオンラインのリファレンス、すなわち C および C++ 標準のもっと便利なバージョンをプログラマに提供することです。
主な目的は C および C++ の良い仕様書であることです。 つまり、経験のあるプログラマにとって暗黙に明白な事柄は省略するべき、あるいは、少なくとも関数や定数やクラスのメインの説明からは分離するべきです。 様々なユースケースをデモンストレーションするための良い場所は各ページの「例」セクションです。 論拠、実装ノート、領域固有のドキュメントは各ページの「ノート」セクションに含めるのが好まれます。
[編集] ここのコンテンツが標準 C および C++ に限定されているのは何故ですか?
簡単に言うと、量よりも品質を選んだからです。 いくつかの Boost のライブラリは含める候補になり得るかもしれません。 boost のチュートリアルは非常に良いですが、リファレンスドキュメントはしばしば非常に柔軟性がなく不便です。
[編集] もっと情報を得るにはどこを見ればいいですか?
このサイトのスコープ外となる代替のリンクやコンテンツについてはリンク集 [1] [2] をチェックしてください。
[編集] このリファレンスが準拠している C 標準の改訂はどれですか?
C17 が最も最近に発行された C 標準であるため、それが C 言語リファレンスの主な焦点です。
しかし、より完全なリファレンスを提供するために、標準の以前のバージョン (C89、C95、C99、C11)、標準の将来のバージョンのドラフト、および技術仕様書を説明するドキュメントも含めています。 すべてのバージョン固有のドキュメントは適切にラベル付けされるべきです。
様々な C 標準の改訂は以下にあります。
- C2x
- 最新のフリーなワーキングドラフトは n2479 (2019-02-05) です。
- C17
- 公式の C17 標準は ISO から購入できます。
- 最終ドラフト標準 C17 FDIS はフリーで利用可能です。
- C11
- C11 標準は廃止され、もはや ISO からは入手可能ではありませんが、 ANSI からは未だ購入できます。
- C11 のワーキングドラフト n1570 (2011-04-12) はフリーで利用可能であり、最終 C11 標準から最小限の差異があるだけです。
- C99
- C99 標準は廃止され、もはや ISO からは入手可能ではありませんが、 ANSI からは未だ購入できます。
- 最終 C99:TC3 ワーキングドラフト n1256 (2007-09-07) はフリーで利用可能であり、3つの正誤票をすべて含めた最終 C99 標準から最小限の差異があるだけです。
- C95
- C90 の補追 AMD1 (C90 を C95 に変換します) はもはや公式のソースからは入手可能ではありませんが、 Global Engineering Documents のような一部のドキュメントリテーラで見付けることができます。
- C89/C90
- C90 標準は廃止され、もはや公式のソースからは入手可能ではありませんが、 SAI-Global のような一部のドキュメントリテーラで見付けることができます。
- 最終ドラフト (X3J11/90-013 (ANSI のナンバリング) または n119 (WG14 のナンバリング)) はパブリックに利用可能ではありませんが、最終パブリックレビュードラフト X3J11/88-090 (1988-05-13) が利用可能であり、最終 C89 標準から最小限の差異があるだけです。
[編集] このリファレンスが準拠している C++ 標準の改訂はどれですか?
C++17 が最も最近に発行された C++ 標準であるため、それがこのサイトの主な焦点です。
しかし、より完全なリファレンスを提供するために、標準の以前のバージョン (C++98、C++03、C++11、C++14) および標準の将来のバージョンのドラフト (C++20 および技術仕様書) を説明するドキュメントも含めています。 すべてのバージョン固有のドキュメントは適切にラベル付けされるべきです。
様々な C++ 標準は以下にあります。
- C++20
- C++20 の最終ドラフトは n4860 (2020-03-31) です。
- 最も最新のバージョンは https://github.com/cplusplus/draft (ソース形式) および eel.is/c++draft (閲覧可能な形式) にあります。
- C++17
- 公式の C++17 標準は ISO から直接、および ANSI などのメンバ組織から、購入できます。
- C++17 の最終ドラフトは n4659 (2017-03-21) です。
- C++14
- C++14 標準は廃止され、もはや ISO から入手可能ではありません。 ANSI や他のメンバ組織を通して未だ購入することができます。
- フリーな C++14 最終ドラフト (n4140) およびそれと標準 (n4141) との差分 (主に誤字の修正とバージョン番号の変更から構成されています) も利用可能です。
- C++11
- C++11 標準は廃止され、もはや ISO から入手可能ではありません。
- フリーな C++11 ワーキングドラフト (n3337) は利用可能です。 (ワーキングドラフトと C++ 標準の間の差異はマイナーです。)
- C++03
- C++03 標準は廃止され、もはや ISO から入手可能ではありません。
- C++98
- C++98 標準は廃止され、もはや ISO から入手可能ではありません。
[編集] 標準と cppreference の間に違いがあるのはなぜですか?
cppreference は ISO の歴史学者ではなくプログラマによってメンテナンスされ、プログラマとって便利であること���目標としており、私たちはプログラマとして -std=c++17
またはあなたのコンパイラのそれと同等なフラグを使用したときに何が得られるかに関心があります。 結果として、私たちのドキュメントはそれぞれの C および C++ 標準の改訂プラスその後のすべてのバグ修正およびその改訂に適用可能な明確化の仮想的な完全かつ正確な実装に対するものです。 利用可能であれば、そのような仮想的な実装が行うであろうことについて、標準化委員会のガイダンスおよび現在の実装をエビデンスとして使用します。
[編集] このサイトのオフライン閲覧用に適したバージョンはありますか?
はい。 ここから取得できます。
このサイトのコンテンツをオフライン閲覧するためのアプリもいくつか提供されています。 例えば、 docset ベースのアプリ: Dash (Mac および iOS 用)、 Velocity (Windows 用)、 Zeal (Linux 用)、 LovelyDocs (Android 用) などがあります。
[編集] サイトをもっと閲覧しやすくできませんか?
ダークテーマはデフォルトの明るいテーマより読みやすいかもしれません。 DarkReader のようなブラウザ拡張を試してみるのも良いでしょう。
前述のオフラインの docset ベースのアプリもダークモードや他のオプションを提供しています (しかしリアルタイムでは更新されません)。
[編集] このサイトのコンテンツを用いて私ができることは何ですか?
コンテンツは Creative Commons Attribution-Sharealike 3.0 Unported License (CC-BY-SA) および GNU Free Documentation License (GFDL) (バージョンなし) (不変セクション、フロントカバーテキスト、バックカバーテキストなし) の下でライセンスされます。 つまりあなたはこのサイトをほとんどあなたの好きな方法 (ミラーリング、コピー、翻訳などを含みます) で使用できるという意味です。 私たちがあなたに要求するであろうことは、最新のコンテンツを取得する場所が人々にわかるように cppreference.com
へのリンクを提供することだけです。 ちなみに、コンテンツに対するいかなる変更も、その変更されたバージョンから皆が利益を得られるように、同等のライセンスの下でリリースされるべきです。
[編集] え? これって wiki なの? 編集できるの?
もちろん。 何か間違った記述を発見したら、修正してください。 しかし、現在のところ、この wiki は標準 C および C++ に限定されているため、コンパイラ固有の拡張のような非標準の内容は追加するべきではありません。 また、いかなる変更も適切な標準を用いてダブルチェックしてください。 何かわからないことがあれば、それについて議論のページで尋ねることができます。
[編集] どのように編集できますか? 構文ルールは?
この wiki は Mediawiki (Wikipedia プロジェクトと同じ wiki システム) を使用しています。 Mediawiki の wiki コード構文の入門には Mediawiki のヘルプページが役に立つでしょう。 しかし、この wiki のコンテンツのほとんどは非常に複雑なテンプレートにラップされています。 これらはフォーマットのほとんどを行い、繰り返し出現する内容を一箇所に集約する手助けをしています。 そのため、何かを変更するとき、同じ変更を何十回も行う必要はありません。 この wiki で使用されているテンプレートについてのヘルプは Help:Templates を参照してください。
この wiki はスタイルに一貫性を持たせることを目指しています。 一貫性のあるスタイルおよび wiki のフォーマットに従う手助けとなるスタイルガイドについては Help:Manual of style を参照してください。
いくつかの追加の編集情報については Cppreference:EditingHelp を参照してください。
しかし、貢献するために複雑なテンプレートや前述のガイドラインのいずれについても知る必要はないことに注意してください。 フォーマットを適用するよりもコンテンツ自体を書く方が大変なので、書くときはスタイルについては気にしないでください。 それは誰かが後で修正するでしょう。
一部の使用量が多いテンプレートは荒らしを防ぐためや性能上の理由でロックされています。 これらについては議論のページで変更を要求してください。
[編集] 手伝いたいです。 どこから始めるべきでしょうか?
素晴らしい! 修正する必要のある事柄に対する提案を含む特別ページがいくつかあります。
[編集] このサイトの背後にいるのは誰ですか?
cppreference.com は世界中の C++ 愛好家のグループによって作成され、メンテナンスされています。 サイトは2000年に誕生してから完全にコミュニティによってサポートされています。 現在のところホスティングの費用は広告 (広告に関する問題は comments@cppreference.com
に報告してください)、寄付、および恐ろしく駄洒落に満ちた C++ 関連製品の販売によって部分的に賄われています。
[編集] どうすればあなたに連絡を取れますか?
comments@cppreference.com
で私たちに連絡が取れます。
壊れたリンクを報告する場合はここで報告する方が簡単かもしれません。