NEWS&TOPICSニュース&トピックス

ゲームプログラマーの必須知識 C++入門編

  

G040101.jpg

名前が似ている開発言語 C++とC言語の違いとは?

開発言語の中に「C++」と「C言語」という名前が非常に似たものがありますが、これらは果たして同じようなものでしょうか? 実は、同一のものとはいえませんが、まったくの別物というわけでもありません。C++は、C言語の拡張版のような言語だからです。

C言語とC++の違いは、C++が「オブジェクト指向型プログラミング」であるということです。この点が「拡張版」といわれる理由のひとつでしょう。
詳しく説明すると、「オブジェクト指向型プログラミング」とは「オブジェクト」をひとつのデータとして扱うことを目指したプログラミング言語のことをいいます。
※この場合の「オブジェクト」とは、「いくつものデータと処理条件をセットにしたもの」のことをいいます。

C++入門に不可欠な「オブジェクト」って何?

今まで開発言語を学んだことがない方には、ちょっと分かりにくいと思いますので、イメージをつかんでもらうために例え話をしましょう。

オブジェクトの例え話

【「山田さん」「加藤さん」「鈴木さん」……「田中さん」など何百人もの名前のデータ】
+
【「名前を呼ばれたら答える」という処理条件(プログラム)】
両者をひとつのセットにしておくようなイメージ。これがオブジェクトです。
このようなオブジェクトをプログラミングすると、大きなメリットがあります。それは、いちいち内容を指定しなくてもいいという点です。

上記の例で言うならば、
「山田さんですか?と問われたら、はいと答えよ」
「加藤さんですか?と問われたら、はいと答えよ」
「鈴木さんですか?と問われたら、はいと答えよ」
……
と、いちいち指定する面倒なプログラミングをしなくても済みます。
「名前を呼ばれたら、はいと答えよ」
というシンプルなプログラミングにすることができるのです。
しかも、より短いプログラミングで済むため、プログラミングの処理速度も速くなります。

「オブジェクト指向型プログラミング」には、「クラスベース」と、「プロトタイプ(インスタンス)ベース」があります。クラスベースは、抽象的な枠組みから具体的なプログラムを作るという考え方。プロトタイプベースは、具体的なプログラムと関連のある具体的なプログラムを作るという考え方です。クラスベースの代表的なプログラミング言語としては、C++やJavaなどがあります。一方のプロトタイプベースとしては、JavaScriptが代表的です。

上記のような関係があるので、「まずはJavaを覚えてからのほうが、C++のオブジェクト指向(=クラスベース)の概念が分かりやすい」と説明するプログラマーもいます。

ゲームプログラマーが学ぶならC++とC言語のどちらがおすすめ?

ゲームプログラマーとして開発言語を学ぶ際に、C++とC言語のどちらから学ぶべきか悩んだりする方もいらっしゃるのではないでしょうか。C++はC言語を学ぶよりも勉強量が多いので難しく思う方も多いようです。しかしC++はライブラリが豊富で、安全なコードが書きやすいと言われています。一度覚えてしまえばプログラム作りが楽になります。

ただこの問題は、「言語の関係性」を考えてみれば自然と解決できるので安心してください。
どういうことかというと、「C++を知ればC言語を知ることになり、C言語を学べばC++の基礎を学ぶことになる」ということに尽きます。どちらからでもかまわないので、一刻も早く学び始めたほうがいいでしょう。できれば両方とも学んでおくと自分が開発に携われる領域が広くなるのでおすすめですよ。

【無料 資料請求】最短2日でお届け!まずはパンフレットを取り寄せよう!

【無料 学校見学】随時開催中!学校見学はこちらからお申込みできます!

【無料 体験授業】オープンキャンパス!体験授業はこちらから申込できます!

©2022 Human Academy Co., Ltd. All Rights Reserved.

Topに戻るTop