「C++98プログラマーのためのC99入門」の記事一覧
- 更新日:
- 公開日:
フリースタンディング環境というのは、C++でいう自立処理系の環境のことです。C++の場合と同様、オペレーティングシステムの支援無しに動作する環境であり、一部のヘッダを除き、標準ライブラリは一切サポートされません。また、プ […]
C言語(C99)ではC++(C++98)の標準ライブラリのうち、当然のことながら標準Cライブラリに当たる部分しかサポートされません。一方でC++98が参照しているのはC95であり、C99で追加されたライブラリはC++98 […]
- 更新日:
- 公開日:
ここでは、他の回で採り上げなかったC++(C++98)とC言語(C99)の細かなちがいについて解説します。 可変個の実引数を取る関数の仮引数並び C++では、printf関数のような可変個の実引数を受け取る関数の仮引数並 […]
メモリの動的割付け、あるいはオブジェクトの動的生成の方法は、C++(C++98)とC99では大きく異なります。 newおよびdelete演算子はない C++では、オブジェクトの動的生成と解体に使っていたnew演算子とde […]
リテラルについても、C++(C++98)とC99では微妙なちがいがあります 文字定数 C++では「文字リテラル」といいますが、C99では「文字定数」という用語が使われています。 C++の文字リテラルはchar型でしたが、 […]
C99にクラスはありませんが、構造体と共用体ならあります。また、C++(C++98)と同様、列挙体も使うことができます。 タグ名だけで型名にならない C++では、クラスや列挙体のタグ名だけで型名になりましたが、C99では […]
C99にもC++(C++98)と同じ修飾子(constおよびvolatile)や記憶クラス指定子(extern, static, auto, register, および typedef)が備わっています。ただし、muta […]
C99におけるプログラムの開始と終了の仕様は、C++とくらべるとずっと単純です。これは主として、C99にはコンストラクタやデストラクタを持つオブジェクトが存在しないからです。 プログラムの開始 プログラムの開始時には、C […]
C99では、C++(C++98)にはあるいくつかの型がサポートされません。逆に、C99にはあってC++にはない型もあります。また、型変換についてはかなり仕様が異なりますので、今回はそのあたりの解説を行います。 C99には […]
注釈については書くべき内容がないのですが、本編と番号を揃えるために、欠番としてこのページを作っておきます。そのうち、何か注釈以外の内容をこの回に書くと思います。 ↑ C++98プログラマーのためのC99入門