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