HOWTO · C++
Dev C++ での C++ 11 コードのコンパイルと実行
この記事は、Dev C++ コンパイラを使用して C++ 11 コードをコンパイルおよび実行するための簡単なガイドです。
このページの内容
この簡単なガイドは、Dev C++ を使用した C++ 11 コードのコンパイルに関するものです。
C++ 11 バージョン
C++ 11 は、C++ 3 の後の C++ の新しいバージョンです。国際標準化機構 (ISO) の承認を受けて、2011 年 8 月 12 日にリリースされました。
この新しいバージョンの C++ では、C++ に一連の新機能がすべて追加されています。 ただし、新機能の使用はユーザー自身の選択です。
それでも、一部の機能は非常に役立ち、C++ でのプログラミングをより面白くします。
Bjarne Stroustrup によって特徴付けられた C++ 11 の主な目標は次のとおりです。
- C++ の強度を高めます。 C++ を拡張して (C++ の弱点である) 重い GUI アプリケーションを構築できるいくつかの新機能を追加するのではなく、既に行っていることを改善することに重点が置かれています。
- C++ を学びやすく、使いやすくします。 これは、C++ をより一貫して簡単にする機能を提供します。
C++ 11 の機能をまとめた委員会は、主な原則のいくつかに従いました。
- C++ 11 を古いバージョンの C++ と互換性を持たせて、古いバージョンで動作するプログラムが一般的に C++ 11 で動作するようにします。
- コア言語に拡張機能を追加するのではなく、標準ライブラリに一連の変更を加えます。
- 抽象化メカニズム (クラス、テンプレート) の改善に焦点を当てました。
- 新しいエントリと C++ プログラミングの専門家の両方に機能を追加し、すべての開発者グループにちょっとしたものを提供しました。
- 意図しないバグやエラーを防ぐために、言語の型安全性を高めました。
- C++ のパフォーマンスが向上し、ハードウェアと直接連携できるようになりました。
C++ 11 の機能
C++ 11 は C++ 03 からの大きな移行ではありませんが、いくつかの主要な新機能が追加されました。 ここでは、それらのいくつかについて説明します。
- 型推定機能: C++ 11 では、初期化値によって定義された変数のデータ型を自動的に推定するための新しいキーワード
autoが導入されました。
auto num1 = 5;
int num2 = 10;
num1 を整数で初期化したので、num1 の型は int になります。 同様に、auto は、別の変数を初期化子として使用して、変数の型を推測することもできます。
例:
int a = 5;
auto b = a;
このコードでは、b は a の値で初期化され、その型はint である a として設定されます。 値で初期化されていない変数も、decltype を使用して設定できます。
例:
int var1 = 0;
decltype(var2) var1;
var2 を値で初期化しませんでしたが、そのデータ型は var1 と同じになります。 型推定は C++ 11 の強力な機能ですが、型を指定できない場合、または型推定メカニズムを使用することでコードの効率や可読性が向上する場合にのみ推奨されます。
- 変数の統一的な初期化: C++ 11 では、中括弧
{}を使用して変数を初期化する新しいメソッド pf が導入されました。 初期化の以前の方法は、C++ 11 でも機能することに注意してください。
型識別子 {initial_value};
例:
int x{0}; // This will initialize `x` with 0.
for-eachループ:forループが配列要素を繰り返し処理することを確認しましたが、インクリメントまたは条件でエラーが発生する可能性があります。 この困難を軽減するために、配列を反復処理するためにfor-eachループが導入されました。
構文:
for (element_declaration : array) statement;
例:
#include <iostream>
using namespace std;
int main() {
int evens[]{0, 2, 4, 6, 8, 10, 12, 14};
for (int num : evens) {
cout << num << ' ';
}
cout << '\n';
return 0;
}
出力:
0 2 4 6 8 10 12 14
より簡単にするために、このループで auto タイプを使用することもできます。
例:
#include <iostream>
using namespace std;
int main() {
int evens[]{0, 2, 4, 6, 8, 10, 12, 14};
for (auto num : evens) {
cout << num << ' ';
}
cout << '\n';
return 0;
}
これは、型推定メカニズムを使用するための理想的なケースです。 配列の型が何であれ、イテレータ変数に設定されます。
C++ 11 では一連の新機能が導入されていますが、ここでは最も一般的に使用される機能のいくつかについて説明しました。
同様に、標準 C++ ライブラリには、次のような多くの新しいクラスが追加されています。
- マルチスレッドおよびスレッドローカル ストレージ
- ハッシュテーブル
- 乱数生成
- 参照ラッパー
- 正規表現
std::tuplestd::unique_ptr
Dev C++ をインストールして C++ 11 コードをコンパイルおよび実行する
Dev C++ コンパイラには、C++ プログラムの作成、デバッグ、および実行のための独自の統合開発環境 (IDE) があります。 プログラムを作成および編集するための効率的なテキスト エディタと C++ コンパイラがパッケージ化されています。
このテキスト エディタには、プログラムの作成、変更、およびディスク ストレージ スペースへの保存を可能にする機能が制限されています。 Dev C++ は、C++ だけでなく C 用のエディターとコンパイラーも提供します。
Dev C++ をダウンロードしてインストールすると、次のウィンドウが表示されます。
下の画像に示すように、ファイル->新規->プロジェクトに移動して、新しいプロジェクトを作成できます。
新しいウィンドウから、コンソール アプリケーションを選択します。 これにより、C++ プログラミング用のソース ファイルを追加できる新しいプロジェクトが作成されます。
デフォルトでは、単一のソース ファイル main.cpp が作成されます。 C++ 11 の場合、最初にそのコンパイラを構成する必要があります。 この目的のために、Tools->Compiler Options に移動します。
Settings タブに移動し、次に Code Generation タブに移動します。 Language Standard メニューから ISO C++11 を選択します。
これで、Dev C++ で C++ 11 コードをコンパイルする準備が整いました。 既に作成されているメイン ファイルにコードを記述し、F11 キーを押してコードをコンパイルすると、コードがコンパイルおよび実行されます。
したがって、Dev C++ は、C++ 11 の最新機能を利用できる使いやすいコンパイラであることがわかりました。 Dev C++ を使用して、C++ 11 コードをすばやくコンパイルして実行できます。
最後のステップで C++ 11 のオプションが見つからない場合は、Dev C++ の最新バージョンをダウンロードしたことを確認してください。