この記事は広告を含みます
はじめに
C++はC言語を拡張して作られたプログラミング言語です。
組み込み開発、ゲーム開発、デスクトップアプリ開発など、さまざまな分野で利用されています。
しかし、
- クラス
- オブジェクト指向
- テンプレート
- STL
など新しい概念が多く、
「C言語は分かるけどC++は難しい」
と感じる方も少なくありません。
このシリーズでは、C言語経験者を対象にC++の基礎から実務で使う知識まで解説していきます。
C言語文法についてはこちらの記事で解説しています。

※記事は執筆次第追加していきます。
C言語とC++の違い
C言語とC++の違いを理解しよう
- C++とは何か
- なぜC++が生まれたのか
- C言語との違い
- C++のメリット・デメリット
→ 【C言語とC++の違いをわかりやすく解説】

C++の基本文法
C++の基本構文
- main関数
- 入出力
- 名前空間
- コメント
- ヘッダファイル
→ 【C++の基本構文を解説】
namespaceとは?
- namespaceの役割
- stdとは何か
- using namespaceの注意点
→ 【C++のnamespaceを解説】
C++の入出力(cin / cout)
- printfとの違い
- cin
- cout
- endl
→ 【C++の入出力を解説】
クラスとオブジェクト
クラスとは?
- クラスとは何か
- オブジェクトとは何か
- メンバ変数
- メンバ関数
→ 【C++のクラスとは?】
コンストラクタとは?
- 初期化の仕組み
- デフォルトコンストラクタ
- 引数付きコンストラクタ
→ 【コンストラクタを解説】
デストラクタとは?
- いつ呼ばれる?
- リソース解放
- RAIIの入口
→ 【デストラクタを解説】
アクセス指定子(public/private)
- カプセル化
- public
- private
- protected
→ 【アクセス指定子を解説】
オブジェクト指向
カプセル化とは?
→ 【カプセル化を解説】
継承とは?
→ 【継承を解説】
ポリモーフィズムとは?
→ 【ポリモーフィズムを解説】
仮想関数(virtual)とは?
→ 【virtual関数を解説】
オーバーライドとは?
→ 【overrideを解説】
C++特有の機能
参照(Reference)とは?
- ポインタとの違い
- 引数渡し
→ 【参照を解説】
new / deleteとは?
- 動的メモリ確保
- malloc/freeとの違い
→ 【new/deleteを解説】
コピーコンストラクタとは?
→ 【コピーコンストラクタを解説】
演算子オーバーロードとは?
→ 【演算子オーバーロードを解説】
STL(標準ライブラリ)
STLとは?
- なぜ便利なのか
- STLの構成
→ 【STLとは?】
vectorとは?
→ 【vectorを解説】
stringとは?
→ 【stringを解説】
mapとは?
→ 【mapを解説】
iteratorとは?
→ 【iteratorを解説】
autoとは?
→ 【autoを解説】
実務でよく使うC++機能
constの使い方
→ 【C++のconstを解説】
nullptrとは?
→ 【nullptrを解説】
enum classとは?
→ 【enum classを解説】
ラムダ式とは?
→ 【ラムダ式を解説】
smart pointerとは?
→ 【スマートポインタを解説】
組み込みエンジニア向けC++
組み込み開発でC++は使える?
→ 【組み込みでC++を使うメリット】
C言語エンジニアが最初に覚えるべきC++
→ 【C経験者向けC++入門】
組み込みで避けられるC++機能
- RTTI
- 例外
- 動的メモリ
- virtual多用
→ 【組み込みC++の注意点】
関連シリーズ
組み込みエンジニアにとっては基本的なコーディングやメモリ領域、割り込みについても深く理解する必要があります。
プログラミング言語の文法やメモリ領域、割り込みについても技術解説シリーズを作っているので参考にしてください。
C言語文法解説シリーズ
👉 修飾子・型・ポインタ・関数・制御文などを体系的に解説

ソフトウェア設計解説シリーズ
👉 保守性・変更容易性・設計思想などを考えた設計について体系的に解説

メモリ領域解説シリーズ
👉 stack / heap / data / BSS / ROM / RAM などを実務目線で整理

割り込み処理解説シリーズ
👉 割り込み処理・状態遷移・リアルタイム設計を体系的に解説

ソフトウェア設計の理解を深めたい方へ
組み込み開発では、
「コードを書く力」だけでなく、
- 責務分離
- 状態管理
- 保守しやすい構造
- バグを減らす考え方
など、ソフトウェア設計の視点が非常に重要になります。
ここでは、C言語やソフトウェア設計の理解を深めたい方におすすめの書籍を紹介します。
新・明解C言語 入門編
C言語初心者に人気の定番書です。
ソフトウェア設計を理解するうえでも、
- 関数
- static
- ポインタ
- 配列
- スコープ
などの基礎理解は欠かせません。
図やサンプルコードも多く、
独学でも学びやすい1冊です。
苦しんで覚えるC言語
「文法は見たことあるけど、実際のコードになると混乱する…」
そんな方におすすめの1冊です。
初心者がつまずきやすいポイントを、
やさしい言葉で整理しながら学べます。
設計を学ぶ前に、まずC言語の基礎を固めたい方に向いています。
独習C
実際にコードを書きながら理解を深めたい方におすすめです。
演習問題も豊富で、
「読むだけ」で終わらず、手を動かしながら学習できます。
設計は実際にコードを書いてこそ理解が深まるため、
基礎力をしっかり身につけたい方におすすめです。
この記事が参考になった方へ
組み込みエンジニアとして技術を学ぶことは重要ですが、
キャリアや副業についても同時に考える必要があります。
副業の現実や市場価値、今後のキャリア戦略については、
こちらの記事でまとめています。

技術に関するご相談・開発・自動化ツール作成・記事執筆などのご依頼も承っています。
小さなご相談からでもお気軽にご連絡ください。

コメント