回答受付が終了しました

ID非公開

2021/4/17 15:03

55回答

c++があるのにc言語がある理由はなぜ?

C言語関連30閲覧

回答(5件)

0

C++ は言語仕様が膨大で複雑なので、コンパイラの実装が非常に困難です。 そのため、マイクロコンピュータなどのマイナーな環境向けには C++ コンパイラがそもそもないということがあります。 そのような場合のために、C言語が存在します。 またこのような環境ではプログラムのサイズやメモリのサイズに制限があることも多く、安易に C++ のテンプレートや例外機能を使ってしまうと、容量が大きくなってしまいます。 そういった制限の意味でも C言語は必要です。 なお、他の回答でC++でできないが、Cでできることがある、のような回答がいくつか見られますが、これらは間違いです。 C++ は C で利用できる殆ど全ての機能が利用できます。 直接アドレス指定は、(CでもC++でも処理系定義の動作ですが)可能です。

0

C++は仕様がすごいことになっていて、全機能を実装するとライブラリのサイズなど大きくなりますから、マイクロコントローラーなんかではCまでとかC++でもサブセットということもあるかと思います。

0

C++コンパイラがある場合、原則としてC言語は不要です。 でも、C++コンパイラが無い場合、C言語を選択せざるを得ないでしょう。C言語コンパイラも無いとなればアセンブラということに…。 実行環境・開発環境次第です。 《参考》 C++はC言語の全機能を含んでおり、従ってC言語で出来てC++で出来ないということは基本的にありません。

1

C言語が先に作れれておりC言語を拡張した物がC++だからです。 C言語は元々はUNIXと呼ばれるOSの移植性を高める為に作られた言語ですので、UNIX系のOS作りには欠かせません、最近はWindowsもC言語で作っているそうです。

1人がナイス!しています

0

c++はアドレス指定出来ないので、OSなどアドレス指定必要なモノには使えない。