C++に変換する
まずはメッセージを表示する簡単なC++プログラムを紹介します(先ほどの「Hello, world」とは異なります)
#include<iostream>
int main()
{
using namespace std;
cout << "Come up and C++ me some time.";
cout << endl;
cout << "You won't regret it." << endl;
return 0;
}
ここでのファイル名は .cpp で終わることに注意してください。これは、C++ プログラムで一般的な方法です。
他の環境では異なる拡張子が必要になる場合があります
さらに、C++ では大文字と小文字が区別されます。つまり、大文字と小文字は厳密に区別されます。
上記の短いプログラムを通じて C++ プログラムの知識を分析します。
- メイン機能
装飾を削除した後のプログラムの基本構造は次のようになります。
int main()
{
statements;
return 0;
}
これらの行は、main() という関数が存在することを示し、その関数の動作を説明します。
これらの数行のコードが関数の定義を構成します。定義は 2 つの部分で構成されます。最初の行 int main() は関数ヘッダーと呼ばれ、中括弧で囲まれた部分は関数本体と呼ばれます。
関数ヘッダーは、関数とプログラムの残りの部分の間のインターフェイスを要約します。
関数本体は、関数が何を行うべきかを示すコンピューター命令です。
C++ では、完全な各命令はステートメントと呼ばれます (ステートメントは実行される操作です)。すべてのステートメントはセミコロンで終わります (セミコロンを省略しないでください)。
最後のステートメントは return ステートメントと呼ばれ、関数を終了します。
C++ 構文では、関数ヘッダー int main() で始まる main() 関数の定義が必要です。関数ヘッダーは、関数とそれを呼び出す関数の間のインターフェイスを記述します。
関数名の前の部分は関数の戻り値の型と呼ばれ、関数によって呼び出し元の関数に返される情報が記述されます。
関数名の後の括弧内の部分は仮パラメータリストまたはパラメータリストと呼ばれ、呼び出し側関数から呼び出される関数に渡される情報が記述されます。
main()を使わないことは可能でしょうか?
通常、C++ プログラムには main() という名前の関数が含まれている必要があります。main() はスタートアップ コードによって呼び出され、スタートアップ コードはプログラムとオペレーティングシステムの間のブリッジであるコンパイラによってプログラムに追加されます。C++ プログラムを実行する場合、通常は main() 関数から開始します。
もちろん、いくつかの例外もありますが、ここでは説明しません。
- プログラムノート
コメントには 2 つの方法があります。1 つは二重スラッシュ (//) を使用した単一行のコメントで、コメント効果は行末で終了します。
もう 1 つは、記号 /* と */ の間にコメントを含めることです。コメントは複数行にまたがることができます。
- C++ プリプロセッサと iostream ファイル
プログラムで C++ 入力ツールまたは出力ツールを使用する必要がある場合は、次の 2 行のコードを提供する必要があります。
#include<iostream>
using namespace std;
(2行目は他のコードに置き換えることも可能です)
プリプロセッサはメインのコンパイルの前にソース ファイルを処理します。上記のプログラムでは #include<iostream> コンパイル ディレクティブが使用されており、これによりプリプロセッサは iostream ファイルの内容をプログラムに追加します (これは、または置き換える典型的なプリプロセッサ アクションです)コンパイル前にソース ファイルにテキストを追加します)
iostream ファイルの内容をプログラムに追加するのはなぜですか?
これには、プログラムと外部世界との間の通信が含まれます。iostream の io は、入力 (プログラムに入る情報) と出力 (プログラムから送信される情報) を指します。実際、iostream ファイルの内容は、プログラム内の行 #include<iostream> を置き換えます。#include コンパイル命令により、iostream ファイルの内容がソース コード ファイルの内容とともにコンパイラに送信されます。コンパイルの次の段階では、この複合ファイルが使用されます。
- ヘッドファイル
iostream のようなファイルはインクルード ファイルと呼ばれ、他のファイルにインクルードされるためヘッダー ファイルとも呼ばれます。各ヘッダー ファイルは特定のツール セットをサポートします
- 名前空間
名前空間のサポートは、大規模なプログラムや、複数のベンダーの既存のコードを組み合わせたプログラムを簡単に作成できるように設計された C++ 機能です。2 つのパッケージ化された製品に同じ名前の関数が含まれており、その関数を使用するときにコンパイラーがどちらを使用すればよいか分からない場合、メーカーはネームスペースを使用して、メーカーが自社の製品をネームスペースと呼ばれる単位にパッケージ化できるため、ネームスペースの名前を次のように指定できます。どのベンダーの製品であるかを区別するために使用されます。
上記で iostream を使用する場合は、名前空間 std を使用して名前空間を含めて、iostream の定義をプログラムで使用できるようにする必要があります。
- cout を使用した C++ 出力
メッセージを表示する方法: 次の C++ ステートメントを使用します。
cout << "Come up and C++ me some time.";
ダブルクォーテーションで囲まれた部分が出力されるメッセージであり、C++ではダブルクォーテーションで囲まれた文字列を複数の文字列で構成するため文字列と呼びます。
<< 記号は、ステートメントがこの文字列を cout に送信することを示し、この記号は情報が流れるパスを示します。
cout は、文字列、数値、および単一の文字列を表示する方法を認識する事前定義されたオブジェクトです。
cout のオブジェクト プロパティには、その右側の情報をストリームに挿入する挿入演算子 (<<) が含まれています。
制御文字 endl : endl は、新しい行の開始という重要な概念を表します。出力ストリームに endl を挿入すると、画面カーソルが次の行の先頭に移動します。cout にとって特別な意味を持つ endl などの特殊記号は制御文字と呼ばれ、endl も iostream で定義され、名前空間 std にあります。
C++ では、出力内で行を折り返す別の方法、\n (\n は newline という名前の文字とみなされます) も提供しています。
C++ ステートメント
C++ プログラムは関数のセットであり、各関数はステートメントのセットです。
ステートメントと変数を宣言する
コンピュータに情報を保存するには、その情報が保存される場所と必要なメモリ容量を指定する必要があります。この方法では、宣言ステートメントを使用してストレージ タイプを示し、ロケーション ラベルを提供します。
int x;
このステートメントは、必要なメモリとメモリの場所の名前という 2 つの情報を提供します。
このステートメントは、プログラムが整数を格納するのに十分な記憶領域を必要とすることを示しています。C++ では、整数を表すために int が使用され、メモリ ユニットに格納されている値を識別するために名前 x が使用されます。
代入文
代入ステートメントは、値を保管場所に割り当てます。
x=30;
変数 x で表されるメモリ ユニットに整数 30 を割り当てます。
記号 = は代入演算子と呼ばれ、C++ では代入演算子を継続的に使用できます。
関数
C++ 関数は、戻り値のある関数と戻り値のない関数の 2 種類に分類されます。
値を返す関数を使用する
値を返す関数は、変数に割り当てたり、他の式で使用したりできる値を生成します。
呼び出される関数を呼び出し先関数、関数呼び出しを含む関数を呼び出し元関数と呼びます。括弧内の値は関数に送られる情報で、これを関数に渡すといい、このようにして関数に送る値をパラメータといいます。