第 4 章変 数 に つ い て

4.1 変数の宣言について

C++ 言語では C 言語とは違い変数をどこでも宣言することができます。

1 #include <iostream>  
2 using namespace std;  
3  
4 int main()  
5 {  
6         cout << " なにか数字を入力してね:" << endl;  
7         int i;  
8         cin >> i;  
9         cout << " 値は" << i << "です" <<  endl;  
10         return 0;  
11 }

4.2 bool 型について

C++ では新しい型として bool というものが存在します。 bool は true か false かを保持 する変数です。

1 #include <iostream>  
2 using namespace std;  
3  
4 int main()  
5 {  
6         bool hoge = true;  
7         if( hoge == false ) {  
8                 cout << "false." << endl;  
9         } else {  
10                 cout << "true." << endl;  
11         }  
12         return 0;  
13 }

例では true. が画面に出力されます。

4.3 string 型について

C 言語では文字列を保持するには char 型の配列を使用しました。しかし、 char 型にはい ろいろと面倒な問題が含まれていました。

1 #include <stdio.h>  
2  
3 int main()  
4 {  
5         char buffer[100];  
6         strcpy( buffer , "Hello World!" );  
7         printf("%s",buffer);  
8         return 0;  
9 }

まず、 char 型 100 個の配列となっていますが、もし 100 文字以上の文字が入力された場 合どうなるでしょうか?
また、文字列をコピーするのにいちいち strcpy 関数を使わなけれ ばならないのは非常に面倒です。

これらの問題を回避するため、 C++ では新たに string 型というものが用意されまし た。

1 #include <iostream>  
2 #include <string>  
3 using namespace std;  
4  
5 int main()  
6 {  
7         string buffer;  
8         buffer = "Hello World!";  
9         cout << buffer << endl;  
10         return 0;  
11 }

string 型を使用するためには #include <string> を定義する必要があります。
buffer に文字列を渡す場合は、 int や double の時の値の代入と同じように文字列を代入すること ができます。
また、プログラマが char 型の時のように容量を心配する必要がなくなりま す。

また、文字列の結合も簡単にできます。

1 #include <iostream>  
2 #include <string>  
3 using namespace std;  
4  
5 int main()  
6 {  
7         string buffer = "Hello ";  
8         string hoge = "World";  
9         buffer = buffer + hoge;  
10         cout << buffer << endl;  
11

このプログラムは Hello World を出力します。

また、文字列の比較も簡単です。

1 #include <iostream>  
2 #include <string>  
3 using namespace std;  
4  
5 int main()  
6 {  
7         string buffer = "Hello";  
8  
9         if( hoge == "Hello" ) {  
10                  cout << buffer << endl;  
11         }  
12         return 0;  
13 }

このプログラムは Hello を出力します。

参考文献

[1] ハーバート・シルト著, トップスタジオ訳, 独習 C++ 改訂版.