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 } |
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. が画面に出力されます。
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 } |
[1] ハーバート・シルト著, トップスタジオ訳, 独習 C++ 改訂版.