第2講 変数
第3話 文字列型変数
コードを次のように変更してCtrl+F5をしましょう。
005
#include<iostream> //c++プログラミングをはじめるためのお呪い。
#include<string> //文字列型変数を使うために組み込んでいる。
using namespace std; //c++プログラミングをはじめるためのお呪い。
int main() {
  int a; //整数を入れる箱aを用意
  string b; //文字列を入れる箱bを用意
  b = "私は文字列を入れる変数です。";
  cout << "はじめてのC++プログラミング体験" << endl;
  cout << "まず変数から学ぼう!" << endl;
  a = 2; //整数を入れる箱に2を入れた。
  cout << "a=" << a << endl;
  cout << "b=" << b << endl;
  return(0); //mainを閉じるときのお呪い。
}

実行画面
006

今回は文字列(複数の文字を文字列といいます)を入れる箱bを用意して、
そこに『私は文字列を入れる変数です。』という文字列を代入して、
中身を表示させました。
007
文字列を代入するときには"と"で挟むことになっています。

ここで重要な注意があります。
008
#include<iostream> //c++プログラミングをはじめるためのお呪い。
#include<string> //文字列型変数を使うために組み込んでいる。
using namespace std; //c++プログラミングをはじめるためのお呪い。
int main() {
  int a; //整数を入れる箱aを用意
  string b; //文字列を入れる箱bを用意
  cout << "はじめてのC++プログラミング体験" << endl;
  cout << "まず変数から学ぼう!" << endl;
  a = 2; //整数を入れる箱に2を入れた。
  b = "私は文字列を入れる変数です。";
  cout << "a=" << a << endl;
  cout << "b=" << b << endl;
  return(0); //mainを閉じるときのお呪い。
}
Ctrl+F5をすると問題なく実行されて、
002
となります。
C言語では、
int main() {
  
int a; //整数を入れる箱aを用意
  string b; //文字列を入れる箱bを用意

  cout << "はじめてのC++プログラミング体験" << endl;
  cout << "まず変数から学ぼう!" << endl;
  a = 2; //整数を入れる箱に2を入れた。
  b = "私は文字列を入れる変数です。";
  cout << "a=" << a << endl;
  cout << "b=" << b << endl;
  return(0); //mainを閉じるときのお呪い。
}
にように、変数の宣言は冒頭でしないとエラーしましたが、
C++では好きな位置で変数の宣言をすることが出来ます。
int main() {
  int a; //整数を入れる箱aを用意
  string b; //文字列を入れる箱bを用意

  cout << "はじめてのC++プログラミング体験" << endl;
  cout << "まず変数から学ぼう!" << endl;
  a = 2; //整数を入れる箱に2を入れた。
  b = "私は文字列を入れる変数です。";
  cout << "a=" << a << endl;
  cout << "b=" << b << endl;
  return(0); //mainを閉じるときのお呪い。
}

int main() {
  cout << "はじめてのC++プログラミング体験" << endl;
  cout << "まず変数から学ぼう!" << endl;
  
int a; //整数を入れる箱aを用意
  a = 2; //整数を入れる箱に2を入れた。
  cout << "a=" << a << endl;
  
string b; //文字列を入れる箱bを用意
  b = "私は文字列を入れる変数です。";
  cout << "b=" << b << endl;
  return(0); //mainを閉じるときのお呪い。
}
は似たようなもので、
自由な位置で宣言することが出来るようになった意義が、
見えないと思いますが、
実は結構大きな変更点になります。
それは、変数の適用範囲(スコープといいます)がC++の方が柔軟性に富んでおり、
メモリの節約が出来るという点です。
009
宣言した位置以降が変数のスコープ(適用範囲)になります。
したがって、上図の
がbのスコープということになります。
変数は箱であると説明してきましたが、
正確にいうと、一定のメモリを割り当てそこにデータを書き込んでいます。
ということは、変数適用範囲内でずっとメモリを割り振っていることになります。
すると、上図の青の囲いの中では使いもしないメモリを無駄に割り振っていることになります。
数独(ナンプレ)自動作成アプリを開発したり、
1937桁の完全数を検索するソフトを開発したりするときには、
膨大なメモリを必要とします。
巨大アプリ・ソフト開発では、常にメモリとの戦いになります。
メモリが節約できることは、メモリの上限値を上げ、
演算速度を上げることにつながります。
C++では{}にスコープを限定できるなど、
メモリ節約のための工夫がされています。
この点だけでもC言語<C++といえます。
さらに、オブジェクト指向のクラスを持っているという強みもあります。
クラスについては独立の講を設けて詳しく説明します。



第2話へ 第4話へ
 
002

初心者のための excel 2016 マクロ VBA 入門講義 基礎から応用まで
vc++ c言語 c++ 入門 初心者 基礎から応用まで
eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門

数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
本サイトトップへ