C++
概要
C++(シープラスプラス)は1983年にベル研究所のコンピュータ科学者のビャーネ・ストロヴストルップが、C言語の拡張として開発したオブジェクト指向言語です。
C言語をもとにして、クラスの追加、仮想関数、多重定義、多重継承、テンプレート、例外処理といった機能が追加されています。
しかも、C言語と同様に手続き型言語としても扱うことができます。
開発現場では略して「シープラプラ」もしくは「シープラ」と呼びます。
良いところ
オブジェクト指向プログラミングをはじめとするさまざまなプログラミングの枠組みをサポートしています。
C言語と同じく実行速度が速いのが特徴です。
C言語でできることは、C++でほとんどできます。
悪いところ
C言語と同様にソースコードの量は多くなりがちです。
また、java や C# と比べるとメモリ管理が面倒になります。
言語の難易度は非常に高いです。
私もそうでしたが、C言語の基本を学んでからC++を習得するという学習ルートが一般的です。
ただ、C言語でさえ難易度が高めなのに、さらに難易度の高いC++を学ぶとなると、習得するまでにかなりの時間を要します。
サンプルコード
C++で「Hello World」を表示するソースコードです。
#include
int main()
{
std::cout << "Hello, world!" << std::endl;
}
サンプルコード解説
1行目の「iostream」は、「標準入出力」を意味します。
「int main()」はmain関数と呼ばれ、C++のプログラムを実行するときに一番最初に呼ばれる関数です。
関数とは、引数(ひきすう)と呼ばれるデータを受け取って、結果を返す命令文の集まりです。
C++の関数は「返却する結果の型 関数の名前(引数)」というルールで書きます。
ですので、このmain関数は引数は「なし」で、「int」型の結果を返す「main」という名前の関数という意味になります。
5行目の「std::cout」は標準出力ストリームを意味しており、「std::endl」は改行文字+フラッシュを意味します。これらを使うためには、「iostream」というヘッダを #include しておく必要があります。
コンパイル方法
先ほどのサンプルコードを「hello.cpp」という名前で保存します。
C言語と同様、UNIX系のOSでは「cc」というコマンドでコンパイルができます。
> cc hello.cpp
コンパイルが正常に終了すると、「a.out」という実行可能なファイルが出力されます。
Windows系OSでのコンパイルはVisual Studioなどの開発環境で「ビルド」を実行すれば実行可能ファイルが作成されます。
実行方法
UNIX系OSでは「a.out」を実行すると「Hello, World!」が標準出力に表示されます。
> ./a.out
Hello, World!
Windows系OSではビルド時に作成された実行可能ファイルをダブルクリックするとコマンドプロンプトに「Hello, World!」が表示されます。
C++ 関連ページ
PR