ここは、Programming Place Plus の 新C++編のトップページです。C++ でのプログラミングを、入門段階から順序立てて解説していきます。
新C++編を読むにあたって、古いバージョンの C++ や、C言語の知識は不要です。
プログラミング自体の経験がない(少ない)方は、導入 から始めてください。ある程度わかっている方は、本編 から始めて構いません。いずれも、目次に並べている順番で読み進めることを想定しています。
以下、日付は最終更新日です。検索窓から、記事内を検索できます。
導入 | |
---|---|
はじめに ~新C++編の方針と、C++ のこと~ | |
学習環境を準備する ~プログラミングをするために揃えるもの~ | |
プログラミングとは ~そもそも、何をどこになぜ書くのだろうか~ | |
初めての C++プログラミング ~作業の流れを体験する~ | |
エラーについて ~プログラムが間違っていたらどうなるか~ |
本編 | |
---|---|
電卓プログラム編 計算や、処理の分岐、繰り返しといった、プログラムの基本的な構成要素を学びます。 (最終的なソースファイル一式をダウンロード) |
|
Hello, Worldプログラム ~小さなプログラムをきちんと理解する~ | |
計算 ~コンピュータに計算させる~ | |
乗算と除算 ~計算の順番と、除算に関する注意事項~ | |
定数式と識別子 ~単なる数に名前を与える~ | |
入力と変数 ~入力された数を使って計算する~ | |
文字列の入力 ~文字が並んだデータの使い方~ | |
コメント ~人間の言葉でメモを書き残す~ | |
代入 ~変数の値を変更する~ | |
文字 ~文字列は文字の集まり~ | |
switch文 ~いくつかの処理から1つが選ばれる構造~ | |
for文 ~同じコードを何度も繰り返す構造~ | |
論理値 ~YES か NO か~ | |
if文と条件演算子 ~自由な条件で分岐する~ | |
while文 ~自由な条件で繰り返す~ | |
stringstream ~文字列の分解と組み立て~ | |
int型の限界 ~どんな整数でも表現できるわけではない~ | |
浮動小数点数 ~小数点を含んだ数を使う~ | |
蔵書リストプログラム編 多くのデータを取り扱う方法や、データを消さずに保存しておく方法を学びます。 (最終的なソースファイル一式をダウンロード) |
|
ファイル処理 ~データを保存して再度使えるようにする~ | |
ファイルとエラー ~いつもうまくいくわけではない~ | |
std::vector ~同じ型の複数の変数をまとめる仕組み~ | |
イテレータ ~複数の要素を走査する仕組み~ | |
要素を追加する ~配列のメモリの使い方を意識する~ | |
要素を取り除く ~取り除く要素をどうやって指示するか~ | |
符号無し整数 ~負数がない世界?~ | |
要素を探索する ~複雑な条件指定を使いこなす~ | |
構造体 ~異なる型の値をまとめる仕組み~ | |
マルチバイト文字 ~日本語の文字を使う~ | |
関数を作る ~処理に名前を付け、コードの重複もなくす~ | |
関数から値を返す ~仕事の結果を呼び出し元に伝える手段~ | |
ポーカープログラム編 簡単なゲームを題材に、複数のソースファイルで構成される、少し規模の大きいプログラムを作ります。 (最終的なソースファイル一式をダウンロード) |
|
列挙型 ~関連性のある定数をまとめる~ | |
整数型 ~大小さまざま~ | |
シャッフルと乱数 ~ランダムな結果の実現と再現~ | |
要素を整列する ~自然な並び順で扱いやすく~ | |
分割コンパイル ~複数のソースファイルに分ける~ | |
ヘッダファイル ~複数のソースファイルを正しく結ぶ~ | |
プリプロセス ~コンパイル前にソースコードを書き換えるトリック~ | |
アサート ~想定外をいち早く発見する~ | |
UTF-8 ~♠♣♦♥ のような文字が使いたい~ | |
バイナリエディタプログラム編 高度で便利な機能をあえて使わず、メモリの内容を直接意識して操作することを学びます。 (最終的なソースファイル一式をダウンロード) |
|
メモリとオブジェクト ~メモリがどのように使われるか~ | |
配列 ~メモリ効率のよいシンプルなデータ構造~ | |
配列とポインタ ~データ構造と、指し示すもの~ | |
ビット単位の処理 ~情報の最小単位で操作する~ | |
バイナリ形式での読み書き ~ありのまま読む・書く~ | |
コマンドライン引数 ~実行するユーザーがプログラムに指示を与える~ | |
構造体とポインタ ~およびヌルポインタとメンバポインタの話~ | |
スコープと名前空間 ~名前が使える範囲~ | |
関数ポインタとラムダ式 ~関数から呼び返される関数の実現~ | |
ランダムアクセス ~自由に動き回って読み書きする~ | |
ペイントスクリプト編 少し複雑な題材を使って、クラスの初歩的な使い方を学びます。 (最終的なソースファイル一式をダウンロード) |
|
多次元配列 ~配列の要素が配列である構造~ | |
ファイルシステム ~ファイルに対するさまざまな操作~ | |
クラス ~構造体+α~ | |
コンストラクタ ~オブジェクトを確実に初期化する~ | |
静的メンバ ~クラスごとに1つだけ存在するメンバ~ | |
文字列操作 ~std::string で簡単にできること~ | |
再帰呼び出しとスタック ~繰り返し自分を呼び出すこととその限界~ | |
queue、priority_queue、deque ~キューとその仲間~ | |
リングバッファ編 C++ の標準コンテナを真似たデータ構造を作ることを通して、標準ライブラリの重要な構成要素であるコンテナ、イテレータ、アルゴリズムを理解することを目指します。 |
|
クラステンプレート ~特定の型に依存しない汎用的なクラスを作る~ | |
関数テンプレート ~特定の型に依存しない汎用的な関数をつくる~ | |
オーバーロード ~同じ仕事をする関数に同じ名前を与える~ | |
演算子のオーバーロード ~演算子が行う処理をオペランドの型ごとに変える~ | |
chrono ~時間を扱う~ | |
ノンタイプテンプレート ~値で置き換えるテンプレート~ |
APPENDIX | |
---|---|
リンク集 | |
参考書籍 | |
記号の一覧 | |
演算子の一覧 | |
キーワードの一覧表 | |
型の分類表 |
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
RSS | 管理者情報 | プライバシーポリシー |