第0回 はじめに

「C++プログラマーのためのC入門」では、C++では使えたけれどもCでは使えない機能、逆にC++にはないけれどもCにはある機能、細かな言語仕様のちがい、そして、C++ではこう書いたけれどもCではこう書くといったTipsを書いていきます。

対象とするCのバージョン

Cの歴史は古く、標準規格に限ってもいくつかのバージョンがあります。本来であれば、最新版である現行規格(いわゆるC11)を対象にするべきですが、実用的な観点から広く普及しているC90やC99を中心に解説することにします。

C++にもいくつかのバージョンがあります。最初の標準規格であるC++98およびC++03は最も普及しているバージョンですので、読者の多くもC++といえばそれらを想定している可能性が高いことでしょう。そこで、「C++プログラマーのためのC入門」では、C++03とC90およびC99との比較を中心に解説していくことにします。ただし、C11やC++11についても必要に応じて取り上げていきたいと思います。

対象とする環境

「C++プログラマーのためのC入門」では、特定の環境に依存するのではなく、可能な限り一般的な内容にすることを心がけます。ただし、具体例を挙げるために必要な場合は、特定環境を対象とすることがあります。その場合は対象とする環境を明示します。

なお、特定の環境に依存しないといっても、フリースタンディング環境とホスト環境は区別しなければなりません。フリースタンディング環境はC++でいうところの「自立処理系」の環境であり、ホスト環境はC++でいうところの「依存処理系」の環境のことです。本記事では、とくに指定がない場合はホスト環境を対象とします。