Embedded C++

Embedded C++（エンベデッドシープラスプラス、エンベッディドシープラスプラス）はプログラミング言語の一種である。EC++と略記される。

特徴 
1990年代後半、組み込み用途への適用を目指して、肥大化したC++の仕様を必要最低限のものに絞り込んだサブセットが考案された。

一般的には、Embedded C++を用いた場合、C++よりプログラムをコンパクトにできる傾向がある。これは主に例外処理や実行時型情報に関わるランタイムとデータが減少するためである。

C++から削減された機能
 テンプレート
 例外処理
 実行時型情報
 多重継承
 名前空間
 ワイド文字ライブラリ
 新しい型変換の演算子（const_cast, dynamic_cast, reinterpret_cast, static_cast）
 mutable（const修飾の付いたオブジェクトのメンバ変数を変更可能にする）

C++のサブセットという位置付けから、Embedded C++で記述されたソースコードがそのままC++でも利用できることを目指したが、その目標は必ずしも達成されていない。

C++との互換性を妨げる要因には以下のものがある。
 名前空間がサポートされないため、シンタックス（文法）が統一できない。具体的には、size_t型を使う場合に、C++ではstd::size_tと記述し、Embedded C++では単にsize_tと記述しなければならない。
 例外処理をサポートしないため、Embedded C++で記述されたプログラムは例外安全に配慮されていないが、C++ではそうした設計には問題がある。
 組み込み用途ということから、フリースタンディング環境を対象とすることになるが、Embedded C++にはC++のフリースタンディング環境ではサポートされないライブラリ機能が多く存在する。

外部リンク 
 Embedded C++ Homepage

Embedded