編集部からのお知らせ
新着の記事まとめPDF「NTT」
おすすめ記事まとめ「MLOps」

C++

用語の解説

C++とは

(シープラスプラス,シープラプラ,C++言語,C with Classes,C Plus Plus,C++ programming language,)
C++とは、AT&Tベル研究所のビャーネ・ストロヴストルップにより、C言語の拡張仕様として作成された、コンパイル型の汎用プログラミング言語のことである。
C++では、C言語にクラス定義のようなオブジェクト指向プログラミングの要素が追加された言語仕様となっている。 C言語との下位互換性を保っているため、C言語でできることは全てC++でも実現可能である。 C++は実行時に型が決定されている静的な型システムを用いているため、SmalltalkやRubyのような他の純粋なオブジェクト指向言語と比べて、柔軟性には欠けるものの、実行速度は低下しにくい、という性質を持つ。 C++は多機能かつ汎用的であり、それまでC言語が採用されていた領域をカバーできることに加えて、オブジェクト指向の特徴であるプログラムの再利用性が活用できるため、大規模な開発にも適しているとされる。 C++は、オペレーティングシステム(OS)をはじめとするシステムプログラムから、組み込みシステム、デスクトップアプリケーションなど、多様な用途において採用されている。 例えば、Windowsのアプリケーションにおいては、Visual BasicやC#と並び、C++がアプリケーション記述用の主要な言語となっている。 C++は、C言語の機能に加えて、クラス定義、多重継承、仮想関数、多様性、メソッドの多重定義、テンプレート(総称プログラミング)、例外処理、といった機能が追加されている。 とりわけ多重継承をサポートしている点は大きな特徴であると言える。 SmalltalkやJavaなどのオブジェクト指向のプログラミング言語では、単一継承と呼ばれ、一つの親クラスしか定義できない仕様になっているが、C++では多重継承により、あるクラスの親クラスを複数持つことが可能となっている。 通常C++のソースファイルの拡張子には「.cpp」が、同じくインクルードされるヘッダファイルの拡張子には「.hpp」が付く。 C++は、1980年前後に、C言語をベースに、Simulaのクラス機能を追加したプログラミング言語として開発された。 当初の名称は「C with Classes」といった。 C++の処理系は当初、C言語に対するプリプロセッサとして作成されたため、C++のソースコードを処理すると、C言語のソースコードを吐き出す形となっていた。 C++は1998年にISO/IEC 14882:1998、2003年にISO/IEC 14882:2003として標準化されている。 なお、C++のテンプレート機構を用いたコンテナとアルゴリズムを実装した標準ライブラリとしてはSTL(Standard Template Library)が規定されており、またC++標準にも影響を与えている強力なライブラリとしてBoost C++ Librariesがある。 C++は、その仕様の規模の大きさや複雑さから、マスターするのが最も困難な言語の一つとされる。 それゆえ、熱烈な支持者も多い。 他面、C++における反省が、よりスマートなオブジェクト指向言語としてのJavaやC#の誕生を促したとも言われている。

用語解説出典   powered by. Weblio

Special PR

CNET Japan

ホワイトペーパー

新着

ランキング

  1. セキュリティ

    アンチウイルス ソフトウェア10製品の性能を徹底比較!独立機関による詳細なテスト結果が明らかに

  2. 経営

    10年先を見据えた働き方--Microsoft Teamsを軸に社員の働きやすさと経営メリットを両立

  3. セキュリティ

    6000台強のエンドポイントを保護するために、サッポログループが選定した次世代アンチウイルス

  4. セキュリティ

    ローカルブレイクアウトとセキュリティ-SaaS、Web会議があたりまえになる時代の企業インフラ構築

  5. 運用管理

    マンガでわかるスーパーマーケット改革、店長とIT部門が「AIとDXで トゥギャザー」するための秘策

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNet Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]