C/C++標準規格のドキュメントはどこで入手できる?購入方法と無料ドラフト一覧
はじめに
CやC++の標準規格(ISO/IEC文書)は、ISO(国際標準化機構)の公式ストアから有料で購入できます。しかし、多くの場合、ほぼ完成形となる最終草案(ドラフト)が無料で公開されているため、実質的に無償で内容を確認することも可能です。
この記事では、現在および過去の主要なC/C++標準規格について、「購入して入手する方法」と「無料で閲覧する方法」の両面から整理して紹介します。
C言語の標準ドキュメント
C11(ISO/IEC 9899:2011)
- 購入:198スイスフラン(CHF)― ISO公式ページ
- 無料ドラフト:N1570(最終草案)― open-std.org(PDF)
- 解説:Wikipedia「C11」
C99(ISO/IEC 9899:1999)
- 購入:ISOストアでは現在販売されていないため、購入不可 ― 該当ページ
- 無料ドラフト:N1256(TC3までの修正を反映した版)― open-std.org(PDF)
- 解説:Wikipedia「C99」
C90 / C89 / ANSI C
初期の標準規格であるC90(ANSI C / C89とも呼ばれます)は、現行のISOストアから直接入手することが難しいため、まずは概要を把握するのがおすすめです。
C++の標準ドキュメント
C++14(ISO/IEC 14882:2014)
- 購入:198スイスフラン(CHF)― ISO公式ページ
- 無料ドラフト:N4140(C++14の基礎となった最終草案)― open-std.org(PDF)
- 解説:Wikipedia「C++14」
C++11(ISO/IEC 14882:2011)
- 購入:ISOストアでは現在販売されていないため、購入不可 ― 該当ページ
- 無料ドラフト:N3242(C++11の直前草案)― open-std.org(PDF)
- 解説:Wikipedia「C++11」
C++03
C++98 / C++89
補足:より新しい規格について
その後、C言語ではC17やC23、C++ではC++17・C++20・C++23といった新しい規格が策定されています。これらも同様に、ISOストアから有料で正式版を購入できるほか、C言語のWG14およびC++のWG21が運営する公開サイト(open-std.org)から最新の作業草案を無料で入手できます。
まとめ
正式なISO標準文書がどうしても必要な場合は、ISOストアからの購入(目安として約198CHF)となります。一方、学習や日々の開発での参照が目的であれば、open-std.orgで公開されている無償の最終草案で十分に代用できるケースがほとんどです。用途に応じて、賢く使い分けるとよいでしょう。
-
C++で線分の中点を求める方法とサンプルコード
本記事では、C++を使って線分の中点(ミッドポイント)を求めるプログラムの作成方法を解説します。線分の始点Aと終点Bの2つの座標が与えられたとき、その中点を計算するアルゴリズムについて学びましょう。 問題の概要 始点A(x1, y1)と終点B(x2, y2)で構成される線分があります。この線分の中点を求めるのが課題です。 入力例 a(x1, y1) = (4, -5) b(x2, y2) = (-2, 6) 出力例 (1, 0.5) 計算の説明 (x1 + x2)/2 = (4 + (-2)) / 2 = 1 (y1 + y2)/2 = (-5 + 6) / 2 = 0.5 解決アプローチ:中
-
C++で三角形の重心を求めるプログラムの作成方法
この記事では、三角形の3つの頂点の座標を格納した2次元配列が与えられたときに、その三角形の重心を求めるC++プログラムの作成方法を解説します。 三角形の重心とは、三角形の3本の中線がすべて交わる点のことです。 また、三角形の中線とは、ある頂点と、その対辺(向かい合う辺)の中点を結ぶ線分のことを指します。 それでは、具体的な例を使って問題を確認してみましょう。 入力 (-3, 1), (1.5, 0), (-3, -4) 出力 (-1.5, -1) 説明 重心 (x, y) = ((-3 + 1.5 - 3) / 3, (1 + 0 - 4) / 3) = (-1.5, -1) 解法のアプロ