#include //scope 変数がどこから見えてどこから見えないかという分類 using namespace std; //どこのブロックにも属さない部分 //ファイルスコープ int d = 10;//d爆誕 大域変数、グローバル変数 //このへん int foo() { //変数宣言 コンパイラにa,bという整数の変数 //を使うことを伝える //変数は書いた順番通りに宣言さえる //宣言から下でしか使えない //ブロックスコープ int a = 5;//a爆誕 局所変数、ローカル変数 int b = 6;//b爆誕 return (a + b + d); }//a,b死亡 int main() { cout << foo() << endl; //fooはmainから可視 visible int c = foo();//c爆誕 cout << foo() << endl; }//c死亡 int foo2() { return(d); } //d死亡