見守り電球またはGPS端末が特価中!

C言語に加えて、C++が使えると、何ができるようになりますか?

A 回答 (6件)

基本的に何も新しい事ができるようになることはありません。


できる事の範囲であればC言語の方ができる事が多いです。
低級言語であればあるほどできる事が多く、高級言語になるにつれて構文制約でできる事が減ってゆきます。
出は何の為に高級言語があるかというとその方が書きやすいからです。

例えばアセンブリの場合は関数やif文for文に相当する概念さえありません。
ジャンプ命令と条件付きジャンプ命令を駆使して関数やif文やfor文の挙動を作り出す必要があります。
その代わりプログラム自身を実行中に書き換えながら実行するといったこともやりたい方です。

C言語になると関数やif文やfor文が出てくる代わりプログラム自身を実行中に書き換える事は不可能または困難になります。
ただし、この段階では自分のワークメモリは自由に書き換えられる状態です。

C++になるとクラスやオブジェクトという概念が登場し、自分のワークメモリでさえ書き換えられない場所が出てきます。
引き換えとして予期せぬデータ書き換えによるバグが起こりにくくなります。

これがC#となってくるとガーベッジコレクションという概念が登場し、メモリの管理はシステム側が行ってくれるようになります。
代わりに自分の思っているタイミングでメモリを開放するという事ができなくなります。

更にSQLともなってくるとif文やfor文を使ったアルゴリズムを書く事さえ殆ど不可能となります。
その代わりデータベースという決まった目的であれば数千行は必要な処理をたった1行で行ってしまえますし、途中でアプリケーションがクラッシュしてデータが中途半端な状態になったら?同時にデータを更新しようとしてデータが壊れる可能性は?そう言った問題も全て解決してくれるようになります。

できる範囲の広さだけなら実行バイナリを直接手書きする事が最大になります。
ただ、それでは大変な労力が必要となったりバグを大量に含む原因になったりします。
できる事に制限を設ける代わりに、特定の目的を簡単に達成できるように様々な言語が考え出されてきました。

ですから、何が新たにできるようになるかではなく、自分が何をしたくてそれをうまくやれる言語は何かという観点から学ぶ言語を選んだ方がきっとうまくゆくでしょう。
    • good
    • 0

オブジェクト指向プログラミング(OOP)が楽にできるようになります。


Cでも出来ますが、部分的かつ煩雑です。
    • good
    • 0

C++で学んだ概念は、ほかの高水準言語を学ぶときに


すぐ生きてきます。

Cで学んだことは構造化くらいしか。

この先で進む分野次第ですが。

質問者さんはウェブ系の質問をたくさんしているので、
C++というよりも、
C#とかjavascriptとかJavaとかrubyとかpythonな気がします。
    • good
    • 2

逆にCしか使えない状況がほぼないです。


マイコンへの組み込みプログラミングくらいじゃないでしょうか。

C++ができないと辛いことの方が多すぎて。
    • good
    • 2

オブジェクト指向のプログラミング

    • good
    • 1

C言語で作るのが難しいかな?って思えるソフトが作れるようになりますね。


ただし、マイクロソフトは、ちょっと前からC++を推奨していません。
アプリならC#。システム系ソフトならRustが推しの言語みたいです。

とはいえ、Windows10を含めてOSは主としてCやC++などで作られているみたいですが・・・。
    • good
    • 2

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング