CおよびC++の最新標準規格ドキュメントはどこで入手できる?
プログラミング言語の標準規格に沿った開発を行うには、公式の規格ドキュメントを参照することが重要です。ここでは、C言語およびC++の最新標準規格ドキュメントを入手できる場所を紹介します。
C標準規格ドキュメントの入手先
現在のC言語標準規格(ISO/IEC 9899)の公式ドキュメントは、ANSIが運営するオンラインストア「ANSI Webstore」から購入できます。以下のリンクからアクセスしてください。
https://webstore.ansi.org/RecordDetail.aspx?sku=INCITS%2FISO%2FIEC+9899-2012
C++標準規格ドキュメントの入手先
現在のC++標準規格(ISO/IEC 14882)の公式ドキュメントは、ISOの公式ウェブサイトから有料で購入できます。以下のページから入手可能です。
https://www.iso.org/standard/68564.html
ISO C++標準の作業草案(Working Draft)を無料で閲覧
正式版の購入前に内容を確認したい場合は、ISO C++標準の作業草案がISO C++の公式サイトで公開されており、無料で閲覧できます。
https://isocpp.org/std/the-standard
標準規格の正式版は有料ですが、作業草案やドラフト版は無償で公開されているため、学習用途や開発時の参考資料として幅広く活用されています。最新の仕様策定状況を把握したい方にも、これらのリソースは非常に有用です。
-
C++で最短スーパーストリング(最短共通超文字列)を求めるアルゴリズム
問題概要文字列の配列 A が与えられたとき、A に含まれるすべての文字列を部分文字列として持つ、最も短い文字列(スーパーストリング)を1つ求めることを考えます。ただし、A 内のどの文字列も、他の文字列の部分文字列ではないものと仮定できます。たとえば、入力が [dbsh, dsbbhs, hdsb, ssdb, bshdbsd] の場合、出力は hdsbbhssdbshdbsd となります。この問題は、文字列同士の重なり(オーバーラップ)を辺のコストとみなすことで、巡回セールスマン問題(TSP)とよく似た構造になり、ビットDP(動的計画法)を用いて効率的に解くことができます。アルゴリズムの考え方
-
C++で数値に最も近い回文数を求めるアルゴリズムと実装例
問題の概要 ある数値 n が与えられたとき、それに最も近い回文数(前から読んでも後ろから読んでも同じ並びになる数)を求める問題を考えます。「近さ」は絶対差で評価し、n より小さい回文でも大きい回文でも、差がより小さい方を採用します。 たとえば入力が 145 の場合を考えてみましょう。 下側の回文 141 との差は 4、上側の回文 151 との差は 6 です。差がより小さいのは 141 なので、答えは 141 になります。 解法の方針 すべての数を順番に調べて回文かどうか判定する方法は非効率です。そこで、「最も近い回文となり得る候補」だけを少数ピックアップして比較します。候補となるのは次のパタ