C++プログラミング入門:初心者のための基礎ガイド
C++は、1979年にベル研究所のBjarne Stroustrup(ビャーネ・ストロヴストルップ)によって開発されたプログラミング言語です。高水準言語と低水準言語の両方の特性を兼ね備えているため、中水準言語とされています。C++はC言語のスーパーセットであり、事実上すべての有効なCプログラムはそのまま有効なC++プログラムとして動作します。また、Windows、Mac OS、各種UNIXなど、さまざまなプラットフォームで実行できます。
C++は、以下のような特徴を持つ言語です。
- 静的型付け − 型チェックが実行時ではなくコンパイル時に行われる言語です。これにより、エラーを早期に発見でき、高いパフォーマンスを実現できます。
- コンパイル型 − ソースコードから機械語を生成するコンパイラによって翻訳される言語です。インタプリタのように逐次実行するのではなく、実行前に機械語へ変換されます。
- 汎用性 − 特定の分野に特化せず、幅広いアプリケーション領域に適用できる汎用言語です。特定分野向けに設計されたDSL(ドメイン固有言語)とは対照的です。
- 大文字小文字の区別 − C++では大文字と小文字が厳密に区別されます。識別子やキーワードなどは、大文字小文字が異なるだけで別の意味を持ちます。
- 自由形式 − プログラムテキスト内での文字の配置(インデントや改行など)が構文に影響しない自由形式の言語です。
- 手続き型プログラミング対応 − 再利用可能な手続き(サブルーチンや関数)を中心にプログラムを構造化できる命令型言語です。
- オブジェクト指向プログラミング対応 − オブジェクト指向プログラミング(OOP)は「オブジェクト」という概念に基づくプログラミングパラダイムです。オブジェクトは、属性と呼ばれるフィールド形式のデータと、メソッドと呼ばれるプロシージャ形式のコードを含みます。
- ジェネリックプログラミング対応 − アルゴリズムを「後で指定される型」の観点で記述し、必要に応じて具体的な型をパラメータとして渡してインスタンス化できるプログラミングスタイルです。
C++のプログラミングを学ぶことに決めたものの、何から始めればよいかわからないという方は多いでしょう。ここでは、C++学習の第一歩となる流れをステップごとにご紹介します。
ステップ1:C++コンパイラを入手する
C++のプログラミングを学び始める前に最初に行うべきことは、コンパイラの準備です。主要なOSプラットフォームには、優れた無料のC++コンパイラが揃っています。自分の環境に合ったものをダウンロードするか、オンラインコンパイラを利用するのもよいでしょう。
- GCC − GNU Compiler Collectionの略で、GNUが開発した複数のコンパイラのコレクションです。公式サイト https://gcc.gnu.org/ からダウンロードしてインストールできます。
- Clang − LLVMコミュニティが公開しているコンパイラコレクションです。すべてのプラットフォームで利用可能で、https://clang.llvm.org/get_started.html からダウンロード方法やインストール手順を確認できます。
- Visual C++ Community − MicrosoftがWindows向けに提供している無料のC++コンパイラです。Visual Studioの公式サイト https://www.visualstudio.com/vs/cplusplus/ からダウンロードしてインストールできます。
ステップ2:C++プログラムを書く
コンパイラがインストールできたら、いよいよC++プログラムを書いてみましょう。まずはプログラミングの定番中の定番である「Hello World」プログラムから始めます。この例では、C++を使って画面に「Hello World」と表示させます。hello.cppという新しいファイルを作成し、以下のコードを書き込んでください。
サンプルコード
#include<iostream>
int main() {
std::cout << "Hello World\n";
}
それでは、このプログラムを一行ずつ詳しく見ていきましょう。
1行目: #include<iostream> の行から始まります。これは、iostreamファイル(入出力ストリームを管理するためのヘッダファイル)のコードをソースファイルに取り込むようコンパイラに指示するものです。iostreamヘッダにより、標準入出力操作が可能になり、このプログラムの出力(Hello World)を画面に表示できるようになります。「#」(ハッシュ記号)で始まる行は、プリプロセッサと呼ばれる仕組みによって読み取られ、解釈されるディレクティブです。
2行目: 空白行です。空白行はプログラムの動作に何の影響も与えません。コードの可読性を高めるために使われます。
3行目: 戻り値の型がintであるmain関数を宣言しています。main()はプログラムのエントリポイント(開始地点)です。C++プログラムを実行すると、必ずmain関数から処理が始まり、関数内の最初の行から順番に実行されていきます。ここで波括弧({)を使ってブロックを開始します。これはmain関数の定義の始まりを示し、5行目の閉じ括弧(})がその終わりを示します。これらの括弧の間にあるすべての文が関数本体であり、mainが呼び出されたときに何が起こるかを定義しています。
4行目:
std::cout << "Hello World\n";
この行はC++のステートメント(文)です。このステートメントは3つの部分から構成されています。まず、標準コンソール出力デバイスを表すstd::cout。次に、挿入演算子<<で、続く内容がstd::coutに挿入されることを示します。最後に、画面に表示したい引用符で囲まれた文字列です。C++の学習を進めていくうちに、この仕組みはより明確に理解できるようになるでしょう。
要するに、coutオブジェクトに文字列「Hello world\n」を渡し、標準出力デバイスに表示させているのです。
なお、ステートメントの末尾にはセミコロン(;)が付いている点にも注目してください。この記号がステートメントの終わりを示します。
ステップ3:プログラムをコンパイルする
プログラムを書いたら、次はそれをプロセッサが理解できる言語、つまりバイナリのマシン語に変換する必要があります。これを行うのが、ステップ1でインストールしたコンパイラです。ターミナルまたはコマンドプロンプトを開き、cdコマンドでhello.cppファイルがある場所へ移動してください。GCCをインストールした場合は、次のコマンドでプログラムをコンパイルできます。
$ g++ -o hello hello.cpp
このコマンドは、g++コンパイラに対して、ソースファイルhello.cppを使ってhelloという名前の出力ファイルを作成するよう指示するものです。
ステップ4:プログラムを実行する
プログラムを書き、コンパイルまで済ませたら、あとは実行するだけです。以下のコマンドでプログラムを実行できます。
$ ./hello
実行結果
正しく実行されると、次のような出力が得られます。
Hello world
-
C++の例外処理入門!try・catch・throwの基本と標準例外クラス一覧
C++における例外処理(Exception Handling)とは、プログラムの実行時に発生するエラー(ランタイムエラー)を適切に扱うための仕組みです。例外とは、実行時に送出(スロー)されるイベントのことで、C++ではすべての標準例外が std::exception クラスから派生しています。もし例外を捕捉しなかった場合、例外メッセージが出力され、プログラムは強制終了してしまいます。 C++標準では、例外関連のクラスが <exception> ヘッダに定義されており、プログラムの中で自由に利用できます。親子関係によるクラス階層は次のようになっています。 C++の主な標準例外クラス
-
C#プログラミングとは?初心者にもわかる特徴と基本を徹底解説
C#(シーシャープ)とは何かC#は、Microsoft(マイクロソフト)が開発したモダンで汎用性の高いオブジェクト指向プログラミング言語です。Windowsアプリケーションの開発をはじめ、Webサービス、ゲーム開発(Unity)、業務システムなど、幅広い分野で活用されています。C#は「共通言語基盤(CLI:Common Language Infrastructure)」向けに設計されています。CLIは実行可能なコードとランタイム環境から構成されており、これにより異なるコンピュータプラットフォームやアーキテクチャ上で、さまざまな高水準言語を利用できるようになっています。C#の主な特徴C#には、開