2

私はプログラミングを実際に学んでいるところで、C++ Primer Plus (第 5 版) を読んでいるときに、「有効な C プログラムはすべて有効な C++ プログラムである」という記述に出くわしました。 .

この本はかなり良いですが、その声明は必ずしも真実ですか?

Cファイルと呼ぶのではなく、特定のプロジェクトのCコードのみを書くつもりであるにもかかわらず、CodeBlocksで新しいファイルを作成せず、それをC++ファイルにすることを選択する理由はありますか? たとえば、C で何かを書き始めて、途中で C++ の機能のいくつかを使い始めたいと思うかもしれません。後でファイル拡張子を変更するだけなので、最初に何を決定したかは問題ではありませんか?

4

4 に答える 4

4

C と C++ は 2 つの非常に異なる言語です。はい、ほとんどの場合、C++ は標準の C 構文とうまく連携します。しかし、C++ はオブジェクト指向ですが、C はそうではありません。組織は両者で大きく異なります。

最初に C を学びます。C++ の学習は、C を学習した後の方がはるかに簡単です。通常、C++ でアイデアを実行する前に、少なくとも基本的な C 構文を知っていることが暗示されます。

于 2012-11-09T03:16:39.450 に答える
3

声明は完全に誤りです。有効な C++ プログラムではない C プログラムはたくさんあります。適切に作成された重要な C プログラムは、有効な C++ プログラムではないとまで言えます。ヒント:char *p = malloc(n);は有効な C++ ではありません。

于 2012-11-09T05:56:32.037 に答える
0

ほとんどありませんが、C を選択した場合にアクセスできないライブラリがあると思います。

于 2012-11-09T03:25:05.653 に答える
0

ファイルが C 言語ファイル (*.c) の場合、一部の C++ 文がコンパイルできないことを覚えていますが、通常は問題ありません。逆の場合も同様です。おそらく、C++ は C のスーパーセットであるためです。

そして、*.c または.cc/ .cpp ファイルを作成しても問題ないと思います。C プログラムや C++ プログラムを書くときに重要なことは、私の考えでは、考え方です。C はプロセス言語であり、C++ はオブジェクト指向言語です。

于 2012-11-09T07:48:25.487 に答える