C言語を学んだ人が次に学ぶ言語「C++」。
C++は難しいC言語を習得した上で学ぶプログラミング言語であるためしっかり習得できている人が少なく、高いC++スキルを持つプログラマーは結構レアです。
そんなC++を学ぶにしてもまずは入門者から始めなければ何も分からず挫折してしまうでしょう。人によっては難しくてC言語スキルで十分ということになって妥協してしまうかもしれません。
そこで今回は、C++を初めて勉強するからおすすめの入門書と入門書を選ぶ際の注意点紹介していきます。
初心者がC++入門書を選ぶときの注意点
逆引きリファレンスは購入しない
C言語でプログラミングの基礎を勉強したからいきなり逆引きリファレンスで勉強しても大丈夫と思うかもしれませんがそれは絶対にやめましょう。
C++はC言語にはない文法が大量に追加された新しい言語であるため、いきなり逆引きリファレンスを読んでもいったい何が書かれているのか理解できません。
オライリー本は種類に注意
プログラミング書籍の出版社として有名なオライリージャパンですが、オライリーもC++入門書をリリースしています。
他の書籍の例に漏れず評判が高くて人気がありますが、C++入門者向けの書籍は2種類あることに注意してください。
どちらもC++の勉強に役立つ参考書という点では同じですが、ボリュームが圧倒的に違います。
「C++ プログラミング入門」はページ数215ページと、プログラミング入門証中でも比較的読みやすいボリュームですが、「C++実践プログラミング」はページ数が613ページもある大型本です。
C言語スキルがある方ならどちらも十分読み進められるため、書いて覚えるのが得意だから「C++実践プログラミング」を選ぶというのもアリですが、重くて持ち運びが大変ということには注意してください。
本なのに1kg超えなので、パッと開いて読むには重すぎます。ボリュームがあるという点は優秀ですが、どこでも読めるような本ではないということを理解して購入するようにしてください。
C++を学ぶメリット
C++を学ぶメリットはたくさんあります。将来さまざまなプログラミング言語を触ることがある場合でも役に立つプログラミング言語なので、絶対に知っておきたいC++のメリットについていくつか紹介します。
より複雑なプログラムを書ける
C言語は良くも悪くもシンプルなプログラミング言語であり、数千~数万行で構築されるプログラムとなると管理やデバッグが大変です。
ですがC++にはクラスの概念があり、オブジェクトをクラス化することによって大きな塊を一つにまとめることができます。
#include<iostream>
using namespace std;
class Box
{
int width;
int height;
public:
void Init(int w, int h)
{
width = w;
height = h;
}
int Calc()
{
return width * height;
}
};
int main()
{
Box box;
box.Init(100, 200);
cout << box.Calc();
}
20000
C++を書いたことがない人はなんとなくでしかわからないと思いますがC++ではクラスの書き方をマスターすることでプログラムの行数を減らしつつ効率的なプログラムを書けるようになります。
ゲーム開発ができる
C++言語で利用できるゲーム開発用のライブラリ「DirectX」。C++ではこのDirectXを使ってゲーム開発ができるようになります。
C言語スキルだけでもゲームプログラミングは可能ですが、ゲーム開発はプログラムが複雑になることが多いため、C++スキルが必須級です。
DirectX・OpenGL・Cocos2d-xなど便利なゲームライブラリを使うにしてもC言語スキルだけではスキル不足なので、ゲームプログラマーなることを目指してるのであればC++スキルの習得を是が非でも頑張るようにしましょう。
C++をマスターできればほかの言語も簡単に習得できる
C++はプログラミング言語の中でもそれなりに難しいと言われているC言語をベースにした言語であり、C言語よりも難しいです。
そんなC++を習得できるプログラミングスキルを身につけられたらまた今度新しいプログラミング言語を学ぶことがあったとしてもすぐに習得できます。
C言語/C++はプログラミングの基礎がこれでもかというぐらい詰まっているため、覚えることが多い・難しすぎて挫折してしまう方も少なくないですが、逆に言えばC++をマスターできる人は他のプログラミング言語を触ってもすぐに習得できるということなのです。
RubyやPython・JavaScript・PHPなどほかのプログラミング言語を触る機会がでてきたとしても、C++よりかは圧倒的に簡単なので、いきなり複雑なプログラムを書かなければいけないことでもない限り困ることはないでしょう。
※他のプログラミング言語の習得が簡単になる理由の一つとして、C++習得までに学んだスキルをそのまま活かせるからです。文法が多少異なることを除けば少し調べるだけでスラスラとプログラミングすることが可能です。
C言語より簡単に感じることも
C言語でポイントをマスターしていたらC++の習得は簡単でしょう。C++はポイント周りの操作の重要性が高まりますが、必要な知識はC言語と大差ないため、ポインタさえできていたらC++のほうが簡単に感じるかもしれません。
見方を変えるとC++でもポインタとは切れない関係ということでもあります。
C言語ではポイントの使い道があまり分からないということも多かったと思いますが、C++ではポイントの方が都合がいい場面がたくさん出てきます。
これまでポインタに関してあまりよく分かっていない方もC++プログラミングの実践を通して、ポイントの知識が深まっていく可能性は高いので、ポイントの学習に役立つという点でもC++は優秀です。
おすすめのC++プログラミング入門書
それではC++をこれから始めて勉強するという方におすすめの C ++入門書を4冊紹介していきます。
C++の絵本 第2版 C++が好きになる新しい9つの扉
- 第1章 C++の基本
- 第2章 C++プログラムの書き方
- 第3章 C++の機能
- 第4章 参照
- 第5章 クラスの構築
- 第6章 クラスの継承
- 第7章 オブジェクトとメンバ
- 第8章 C++上級編
C言語をマスターしたといってもC++は完全素人。C++を新しく学ぶにあたって初心に戻り、図解でわかる初心者向けのC++入門書がおすすめです。
出版社 | 翔泳社 |
---|---|
ページ数 | 216ページ |
特に今までプログラミング書籍の文字量に圧倒されて最後まで読みきれなかった経験があるという方には特にお向いています。
図解があるおかげで文字を読む機会が少なくなり、直感的に理解できるものが多くなっているため「C++とはどういったことができるのか」ということをまずは知っていきたいという方に最適でしょう。
価格もプログラミング入門書の中でも安く、定価が税込み2,000円以下です。Kindle版もあるので即時購入も可能です。
スラスラわかるC++ 第2版
- 第1章 プログラミングの準備をする
- 第2章 役に立つプログラムを作る(C++の基本構文)
- 第3章 条件に応じた分岐と繰り返し
- 第4章 プログラムを関数で部品化する
- 第5章 プログラムをクラスで部品化する
- 第6章 クラスがあるから表現できること
- 第7章 オーバーライドとオーバーロード
- 第8章 コピーコンストラクタと代入演算子のオーバーロード
- 第9章 エラー処理とファイル処理
- 第10章 テンプレートとSTL
有名なスラスラわかるシリーズのC++版。
出版社 | 翔泳社 |
---|---|
ページ数 | 594ページ |
C++ではオブジェクト指向の考え方を習得することが必須ですが、これまで勉強してきたC言語にはオブジェクト指向という考え方がありません。
そんなオブジェクト指向の考え方を0から教えてくれるのがこちらの「スラスラわかるC++」です。人気があったこともありC++のバージョンアップに合わせてリニューアルされたものが出版されており、最新のC++の仕様に合わせた内容となっています。
C言語は人並みに書けるようになったけどC++はちんぷんかんぷんという方はこちらがおすすめです。
新・明解C++入門
- 第1章 画面への出力とキーボードからの入力
- 第2章 プログラムの流れの分岐
- 第3章 プログラムの流れの繰返し
- 第4章 基本的なデータ型
- 第5章 配列
- 第6章 関数の基本
- 第7章 ポインタ
- 第8章 文字列とポインタ
- 第9章 関数の応用
- 第10章 クラスの基本
- 第11章 単純なクラスの作成
- 第12章 変換関数と演算子関数
- 第13章 静的メンバ
- 第14章 配列クラスで学ぶクラスの設計
C言語の勉強でもお世話になった方がいるかもしれません。新・明解シリーズのC++入門書もしっかり出版されており、C言語の勉強を「新・明解 C言語入門」でしていた方には特におすすめです。
出版社 | SBクリエイティブ |
---|---|
ページ数 | 536ページ |
C++解説の流れがC言語入門書とほとんど同じテイストなので、読み進めやすいはずです。もちろん新・明解シリーズの本を読んだことがない方にも読みやすい内容となっている為レビュー評価もとても高いものとなっています。
ボリュームも十分でこれ一冊あれば C ++の基礎はほとんど身につくでしょう。少なくとも実戦に必要な基礎能力はすべて身につきます。
ロベールのC++入門講座
- C++ライクにHello World!を表示する
- C言語の基礎文法の復習
- String型の扱い方
- 真偽を表すbool型
- オーバーロード
- const型
- nullポインタ
- new&delete
- クラスの基礎
- ファイルストリーム
- テンプレート
- エラー処理
- C++ライクのキャスト
- 演算子オーバーロードとthis
- アルゴリズム
- C言語とC++の相違点
- Boostライブラリ
とにかく充実した内容を持つC++入門書を購入したいのであればこちらがおすすめです。今回紹介した書籍の中で最もボリュームがある入門書で、ページ数はなんと946ページ。重量で言うと2kg以上もあります。
出版社 | 毎日コミュニケーションズ |
---|---|
ページ数 | 946ページ |
参考書を何冊も購入するのが嫌、できれば一冊で勉強終わらせたいという方はロベールのC++入門書を選ぶといいでしょう。
肩書きとしては入門書を名乗っていますが、入門書とは言えないくらいのボリュームなのでC++で分からないことが出てきたときにもこちらの書籍が役に立つでしょう。
そういう意味でもC++入門に限らず、C++に慣れてきた後でも役立つ一冊となっています。
スキルが高いプログラマを目指すならC++を頑張ってマスターしよう!
C++を習得できれば他のプログラミング言語が簡単になると言われるくらい難易度が高いプログラミング言語です。
将来仕事でプログラミングする事においてC言語/C++に限らず現場の状況やあてられた役職に合わせてさまざまなプログラミング言語を触っていくことになりますが、C++ができていたら別のプログラミング言語を一から学ぶ時間も短縮できるでしょう。
急がば回れという言葉があるように、あえて難しいプログラミング言語を先に習得しておくことで今後のプログラミングの勉強がやりやすくなるので、C++スキルを習得したい人は諦めずに頑張るといいでしょう。