Skip to content

nkys39/cpp_tutorial

Repository files navigation

C++チュートリアル - 基礎編 (初心者向け)

ようこそ!このチュートリアルでは、プログラミング初心者の方がC++を基礎から学べるように構成されています。

レッスン01-10: プログラミングの基本からポインタ・文字列まで

目次

  1. はじめに
  2. 開発環境のセットアップ
  3. レッスン一覧
  4. 次のステップ
  5. 学習の進め方
  6. ビルドツールガイド - CMake、Ninjaの詳細

はじめに

C++は、高性能なソフトウェアを開発するために広く使われているプログラミング言語です。 ゲーム、組み込みシステム、オペレーティングシステムなど、様々な分野で活用されています。

このチュートリアルの特徴

  • 初心者でもわかりやすい説明
  • 実際に動かせるサンプルコード
  • 段階的な学習ステップ
  • 日本語のコメント付きコード

開発環境のセットアップ

必要なもの

C++プログラムを書いて実行するには、以下が必要です:

  1. テキストエディタ: コードを書くためのエディタ

    • Visual Studio Code (推奨)
    • Sublime Text
    • Atom など
  2. C++コンパイラ: コードを実行可能な形式に変換するツール

    • Windows: MinGW または Visual Studio
    • macOS: Xcode Command Line Tools
    • Linux: g++ (通常はプリインストール)

コンパイラのインストール

Windows

# MinGWのインストール
# https://sourceforge.net/projects/mingw/ からダウンロード

macOS

# ターミナルで以下を実行
xcode-select --install

Linux (Ubuntu/Debian)

# ターミナルで以下を実行
sudo apt update
sudo apt install g++ build-essential

CMakeのインストール(推奨)

CMakeは、プロジェクトのビルドを管理するためのツールです。

Windows

# Chocolateyを使う場合
choco install cmake

または CMakeの公式サイト からインストーラーをダウンロード

macOS

brew install cmake

Linux (Ubuntu/Debian)

sudo apt update
sudo apt install cmake

Ninjaのインストール(オプション - 高速ビルド用)

Ninjaは、非常に高速なビルドシステムです。

Windows

choco install ninja

macOS

brew install ninja

Linux (Ubuntu/Debian)

sudo apt install ninja-build

動作確認

以下のコマンドでインストールされているか確認できます:

g++ --version
cmake --version
ninja --version  # Ninjaをインストールした場合

レッスン一覧

基礎編

  1. レッスン01: Hello, World! - 最初のプログラム
  2. レッスン02: 変数とデータ型 - データの保存方法
  3. レッスン03: 演算子 - 計算と比較
  4. レッスン04: 入出力 - ユーザーとのやりとり
  5. レッスン05: 条件分岐 - if文とswitch文
  6. レッスン06: ループ - 繰り返し処理
  7. レッスン07: 関数 - コードの再利用
  8. レッスン08: 配列 - 複数のデータを扱う

中級編

  1. レッスン09: ポインタ基礎 - メモリアドレスの理解
  2. レッスン10: 文字列 - 文字列の扱い方

🎓 次のステップ

基礎編を修了された方は、中級編に進みましょう!

中級編リポジトリ (準備中)

中級編では以下の内容を学びます:

  • オブジェクト指向プログラミング (クラス、継承、ポリモーフィズム)
  • STLコンテナ (vector, list, map, set等)
  • STLアルゴリズム
  • 例外処理
  • ファイル入出力
  • ライブラリ作成とテスト

中級編リポジトリ: cpp_tutorial_intermediate (近日公開予定)

その後は:

  • 上級編: モダンC++ (C++11/14/17/20)、並行処理、設計パターン
  • エキスパート編: SIMD、パフォーマンス最適化、メタプログラミング
  • 実践編: 総合プロジェクト

学習の進め方

1. 順番に学習する

レッスンは順番に学習することをおすすめします。各レッスンは前のレッスンの知識を前提としています。

2. コードを実際に書いて実行する

読むだけでなく、必ず自分でコードを書いて実行してみましょう。

方法1: g++を使う(シンプル)

# プログラムをコンパイル
g++ -o program_name source_file.cpp

# プログラムを実行
./program_name

例:

# hello.cppをコンパイル
g++ -o hello hello.cpp

# 実行
./hello

方法2: CMakeを使う(推奨)

CMakeは大規模プロジェクトに適しています。

Linux/macOS:

# ビルドディレクトリを作成
mkdir build
cd build

# CMakeを実行(Makefileを生成)
cmake ..

# makeでビルド
make

# 実行
./program_name

Windows:

# ビルドディレクトリを作成
mkdir build
cd build

# CMakeを実行(Visual Studioプロジェクトを生成)
cmake ..

# MSBuildでビルド
cmake --build .
# または Visual Studioで build/*.sln を開いてビルド

# 実行
.\Debug\program_name.exe

注意: Linux/macOSではmakeを直接使うのが一般的ですが、Windowsではcmake --build .を使います。

方法3: CMake + Ninjaを使う(最速)

Ninjaを使うと、ビルドが高速になります。

# ビルドディレクトリを作成
mkdir build
cd build

# Ninjaジェネレーターを指定してCMakeを実行
cmake -G Ninja ..

# Ninjaでビルド(makeより高速)
ninja

# 実行
./program_name

ビルド方法の比較:

方法 メリット デメリット 用途
g++直接 シンプル、学習に最適 複数ファイルの管理が大変 単一ファイル
CMake + Make 標準的、ポータブル ビルドがやや遅い 中〜大規模
CMake + Ninja 最速のビルド Ninjaのインストールが必要 大規模、頻繁なビルド

3. エラーを恐れない

エラーが出ても大丈夫!エラーメッセージを読んで、何が問題なのか理解することが学習の一部です。

4. 練習問題に挑戦する

各レッスンには練習問題があります。自分で考えて解いてみましょう。

よくある質問

Q: プログラミング経験がなくても大丈夫ですか?

A: はい!このチュートリアルは完全な初心者を対象にしています。

Q: どのくらいの時間がかかりますか?

A: 個人差がありますが、1レッスンあたり1〜2時間を目安にしてください。

Q: エラーが出たらどうすればいいですか?

A: エラーメッセージをよく読んで、何行目に問題があるか確認しましょう。スペルミスや記号の漏れがよくある原因です。

さあ、始めましょう!

準備ができたら、レッスン01: Hello, World!から始めましょう!


頑張ってください! 🚀

プログラミングは、少しずつ着実に学んでいけば必ず身につきます。 楽しみながら学習していきましょう!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published