從C到C++(變量及其作用域)

5.C++中的變量可以“即用即定義”,且可用任何表達式初始化
(C語言硬性要求好像是必須定義在開頭,但是C++的這個定義的時候就可以用表達式還是挺不錯的~~)

#include <iostream>
using namespace std;
int main()
{
	double a=12*3.25;
	double b=a+1.112;
	
	cout<<"a contains:"<<a<<endl;
	cout<<"b contains:"<<b<<endl;
	
	a=a*2+b;
	
	double c=a+b*a;//“即用即定義”,且可用表達式初始化 
	
	cout<<"c contains:"<<c<<endl;
} 

6.程序塊{}內部作用域可定義外部作用域同名的變量,在該塊裏就隱藏了外部變量
(這個直接可以加{}還是第一次用,感覺挺好玩的)

#include <iostream>
#include <cstdio>
using namespace std;

int main()
{
	int a;
	a=2;
	{
		int a;
		a=3;
		cout<<a<<endl;   //隱藏了外部變量a 
		{
			int a=4;
			cout<<a<<endl;
		}
	}
	
	cout<<a<<endl; //main 
	return 0;
} 

7.for循環語句中可以定義局部變量

#include <iostream>
using namespace std;

int main()
{
	int i=0;
	for(int i=0;i<4;i++)
	{
		cout<<i<<endl;
	}

	cout<<"i contains:"<<i<<endl;
	
	for(i=0;i<4;i++)
	{
		for(int i=0;i<4;i++)
		{
			cout<<i<<" "; 
		}
		cout<<endl;
	}
	return 0;
 } 

8.訪問和內部作用域變量同名的全局變量,要用全局作用域限定::

 #include <iostream>
 using namespace std;
 
 double a=128;
 
 int main()
 {
 	double a=256;
 	cout<<"Local a:"<<a<<endl;       //輸出的是256 
 	cout<<"Global a:"<<::a<<endl; //::是全局作用域限定 ,輸出的是128 
	return 0;
	 
  } 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章