Zenn
🖥️

【C++言語入門】 第1回 こんにちわ~

2025/02/11に公開

https://youtu.be/gpaAgWnLVSs

四国めたん
四国めたん:\textcolor{pink}{四国めたん: }教師役ですわ

ずんだもん
ずんだもん:\textcolor{lime}{ずんだもん: }生徒役なのだ

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} こんにちは。四国めたんです

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} ずんだもんなのだ。こんにちはなのだ

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} 今回から皆さんと一緒に、C++言語によるプログラミングを勉強していくわよ

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} 初心者でもわかるように簡単な説明とするつもりですわ

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} 最初はプログラミングに関する用語など、わからない言葉も出るかもしれないわね

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} わからない言葉はあとで説明するので、今はスルーしていいのだ

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} 第1回は "Hello World!!"の表示 を行いますわ

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} プログラマーなら必ず通るみちなのだ

ようやくC++ですか?

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} 【C言語超入門】では、超初心者向けにC言語でのプログラムの書き方の基本を解説してきましたわ

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} けっこう、長かったのだ

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} 今回からは、初心者向けにC++言語でのプログラムの書き方の基本を解説していきますわ

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} よろしくなのだ

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} なぜ、解説がこの順番になったかといいますと、歴史的な順番ということも、もちろんありますわ

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} そうなのか?

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} でも、一番の理由は、C++言語がC言語にOOP(Object Oriented Programming)の概念を導入して作られた、上位互換の言語だからですわ

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} つまり、C言語の知識があれば、それにプラスアルファする形でC++言語を理解することができるということか

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} その通りですわ

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} という訳で、今後の解説は【C言語超入門】の知識があることを前提として進めていきますわ

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} わかったのだ

とにもかくにもHello world

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} では早速Visual Studioを使ってC++言語での最初のプログラムを作成して行きましょう

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} Visual Studioは、すでにインストールされていて、準備万端なのだ

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} まだの方は、【C言語超入門】 付録1 Visual Studioのインストールを確認してインストールしておいてくださいね

Visual Studio起動

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} 先ず、"スタート"からVisual Studio 2022を選び、起動しますわ

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} Visual Studioのスタート画面が表示されたのだ

スタート画面

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} "新しいプロジェクトの作成"をクリックしますわ

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} "新しいプロジェクトの作成"ウィンドウが表示されたのだ

新しいプロジェクトの作成ウィンドウ

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} 右側上部の"すべての言語"と表示されているプルダウンから"C++"を選択しますわ

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} 次に"すべてのプラットフォーム"と表示されているプルダウンから"Windows"を選択しますわ

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} 最後に"すべてのプロジェクトの種類"と表示されているプルダウンから"コンソール"を選択しますわ

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} 右側のプロジェクトの種類の表示が変わるはずなのだ

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} "空のプロジェクト"を選択して"次へ"ボタンをクリックしますわ

新規プロジェクト

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} "新しいプロジェクトを構成します"ウィンドウが表示されたのだ

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} そのまま"作成"ボタンをクリックしますわ

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} なお"プロジェクト名"や"場所"、"ソリューション名"等については、適当に変えても問題ありませんわ

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} 今回は、"プロジェクト名"と"ソリューション名"を"Project2"にしたのだ

新しいプロジェクトの構成

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} Visual Studioの作業ウィンドウが開いたのだ

プログラムファイルを作成しよう

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} それではプログラムを作成していきましょう

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} よろしくなのだ

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} まず、"ソリューションエクスプローラー"で"Project2"を右クリックしますわ

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} メニューが表示されたのだ

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} "追加"→"新しい項目..."を選択しますわ

ソリューションエクスプローラー

新しい項目の選択

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} "新しい項目の追加"ダイアログが表示されたのだ

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} "FileName.cpp"と表示されている部分を"hello_world.cpp"に変更して"追加"ボタンをクリックします。

新しい項目の追加

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} 拡張子は".cpp"なのか?

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} はい、C言語のファイルの拡張子".c"とは異なるので、注意して下さいね

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} りょうかいなのだ

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} 作業ウィンドウに"hello_world.cpp"のエディットペインが表示されるので、次のようなコードを記述しますわ

#include <iostream>

int main(int argc, char* argv[]) {
  std::cout << "Hello World!!" << std::endl;
  return 0;
}

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} さっそく実行するのだ

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} ツールバーの"ローカルWindowsデバッガー"をクリックするか、F5\fcolorbox{blue}{lightgray}{F5}を押すと、コードが実行されますわ

HelloWorldの実行

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} コンソールが表示されて"Hello World!!"と表示されたのだ

実行結果のコンソール

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} なにかキーを押せばコンソールが閉じ、コードの実行が終了しますわ

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} ちなみに、コンソールが表示されない場合はコードに間違いがあるかもしれませんので、コードを確認して下さいね

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} わかったのだ

拡張子

C++言語のプログラムファイルの拡張子は".cpp"のほかに".cc"を使う場合があります

他にも".cxx"等も使われるようです

OSやコンパイラ等の環境によって、デフォルトで推奨されている拡張子が異なるようです

プロジェクトとして統一されていれば、どの拡張子をしようしても問題ありません

Visual Studio など、最近の環境では".cpp"が推奨されているようです

各行を解説していくよ

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} ところで、今回の"Hello World"は、C言語の時とはかなり違うのだ

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} そうですわね

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} くわしく教えてほしいのだ

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} わかりましたわ

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} それらの違いを順番に解説していきますわね

#include <iostream>

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} ところで、#includeディレクティブについては覚えていらっしゃいますか?

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} ヘッダーファイルを読み込む指示だったのだ

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} その通りですわね

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} そして、#includeディレクティブについては、C++言語でもC言語と同様に使用できますわ

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} そうなのか?

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} はい、例えばprintf関数を使用するために#include <stdio.h>としても問題ありませんわ

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} でも、今回、指定されているファイル"iostream"には、拡張子".h"が付いていないのだ

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} そうですわね

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} 実は、C++言語には、C言語の 標準Cライブラリ に相当する、 標準C++ライブラリ が存在しますわ

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} そうなのか?

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} はい、ですので、C++言語では、 標準C++ライブラリ を使用するのが一般的ですわ

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} なるほどなのだ

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} そして、 標準C++ライブラリ のヘッダーファイルには、現状、拡張子が付いていないのですわ

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} えぇ~、そうなのか!!

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} ですので、今回インクルードした"iostream"ファイルには、".h"などの拡張子は付けないのですわ

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} なるほどなのだ

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} ところで 標準Cライブラリ の関数は、そのまま使えるのか?

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} 使えますわね

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} ただ、 標準Cライブラリ の関数を使用する際のヘッダーファイルについても、別途、拡張子がないファイルが用意されていますわ

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} printfとかなら"stdio"という名前のファイルになるのか?

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} 惜しいですわ

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} それらのファイルは、 標準Cライブラリ で使用するファイル名の拡張子を取って、先頭に"c"を追加した名前となりますわ

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} つまり、"stdio.h"は"cstdio"に、"stdlib.h"は"cstdlib"となるのか...

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} その通りですわ

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} ところで、"iostream"はどのような定義や宣言を行っているのだ?

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} あとで説明しますが、"cout"などのコンソールへの入出力などを定義、宣言していますわ

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} "stdio.h"の代わりということか?

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} まぁ、そんな感じですわね

int main(int argc, char* argv[])

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} 次に、int main(int argc, char* argv[])以下はプログラムの本体となりますわ

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} 【C言語超入門】で使っていたメイン関数void main()とは違っているのだ

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} どちらを使ってもかまわないのですが、今回からは、この形式のメイン関数を使っていきますわ

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} なるほどなのだ

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} ちなみに、"argc"はプログラム実行時に指定した引数の数、"argv"は引数の文字列の配列ですわ

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} 当面は使わないのでスルーするのだ

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} そうですわね

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} なお、戻り値は整数となりますわ

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} どのような値を返すのだ?

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} 一般的には、プログラムの実行が成功した場合には0、失敗した場合にはそれ以外の整数を返しますわね

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} これも基本的には0を返しておくのだ

std::cout << "Hello World!!" << std::endl;

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} 最後に、std::cout << "Hello World!!" << std::endl;はプログラムの本体ですわ

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} 何をしているのだ?

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} コンソールに"Hello World!!"という文章を表示させていますわ

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} printfでもいいのではないか?

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} まぁ、printfでもOKなのですが、今回は敢てC++流のコンソール出力をおこなってみましたわ

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} りょうかいなのだ

std::cout

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} ところでstd::coutとは何なのだ?

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} std::coutは、"iostream"で宣言されている変数で、ここに 流し込まれた 文字列や数値がコンソールに表示されますわ

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} 流し込む

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} その説明は後回しですわ

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} 少し待つのだ

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} まずはstdの説明をお願いするのだ

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} わかりましたわ

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} std名前空間 もしくは namespace と呼ばれるもので、 標準C++ライブラリ の関数や定義は、殆どが std名前空間 に属しますわ

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} 名前空間

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} はい、関数や定義が属している 名前空間 は、コロンを2つ"::"で区切ることで示すようにしますわ

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} チョッと、いきなりすぎて良く判らないのだ

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} このあたりは後の回で詳しく説明するので、今は「そんなものがあるんだ」程度に思ってスルーしてください

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} む~、わかったのだ

<<

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} 次に、二重の小なり"<<"は演算子ですわ

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} つまり、イコール"="や四則演算子"+-/*"と同じというわけか...

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} その通りですわ

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} 一般的には 挿入演算子 と呼ばれますわね

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} なるほどなのだ

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} std::coutに対しては、文字列や数値を 流し込んで コンソールに表示しますわ

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} なるほど、 流し込む とは、 挿入演算子 で文字列や数値を 挿入 することか

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} その通りですわ

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} また、 挿入演算子 は、文字列や数値を 挿入 後にstd::coutを、そのまま返しますわ

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} つまり、 挿入演算子 は連続して使うことができるということか...

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} はい

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} ところで、最後の std::endl は何なのだ?

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} 改行"\n"とほぼ同じですわ

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} りょうかいなのだ

まとめ

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} お疲れさまでした

ずんだもん:\footnotesize \textcolor{lime}{ずんだもん:} おつかれさまなのだ

四国めたん:\footnotesize \textcolor{pink}{四国めたん:} 以上ですべてのプログラマーがいちどは通る道、 "Hello World!!"の表示 を終了しますわ

Discussion

ログインするとコメントできます