自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C++定義變量使用方式簡介

開發(fā) 后端
C++定義變量主要可以通過一下兩種方法來實(shí)現(xiàn),一種是符號(hào)常量,而另外一種則是常值變量。我們將會(huì)在這里詳細(xì)介紹。

C++編程語言對(duì)于廣大開發(fā)人員來說并不陌生,它的作用廣泛,能夠幫助我們輕松的完成各種功能。在這里我們將會(huì)為大家詳細(xì)介紹有關(guān)C++定義變量的方法,希望能夠幫助大家解決一些問題。#t#

C++定義變量有兩種主要的做法

1. 符號(hào)常量 (#define)

2. 常值變量 (const)

 

符號(hào)常量的定義方式,其實(shí)與C++本身沒有關(guān)系,它是一個(gè)編譯器指令,或者稱為預(yù)處理指令(有關(guān)的預(yù)處理指令還有#include,#ifdefine等等)。它的用法如下

#define PI 3.1415926

這樣的語法就定義了一個(gè)叫做PI的符號(hào)常量,它的值指定為3.1415926.

【注意】因?yàn)樗鋵?shí)不是C++語法,所以它不需要(也不能)用分號(hào)結(jié)束。

 

我們?cè)趺词褂媚?/p>

 

  1. #include < iostream> 
  2. #define PI 3.1415926   
  3. using namespace std;   
  4. int main()  
  5. {  
  6. double Area(int radio);//聲明方法  
  7. cout< <  Area(2)< < endl;  
  8. return 0;  
  9. }   
  10. double Area(int radio)//實(shí)現(xiàn)方法,這是一個(gè)根據(jù)半徑計(jì)算面積的方法  
  11. {  
  12. return PI*radio*radio;  

 

 

與符號(hào)常量相對(duì)的,常值變量需要通過const關(guān)鍵字定義。相對(duì)來說,const更加現(xiàn)代,它是c++的一個(gè)關(guān)鍵字,它的用法如下

 

  1. const double PI=3.1415926; 

我們把上面的代碼轉(zhuǎn)換一下

 

  1. #include < iostream>   
  2. using namespace std;   
  3. const double PI=3.1415926;   
  4. int main()  
  5. {  
  6. double Area(int radio);//聲明方法  
  7. cout< <  Area(2)< < endl;  
  8. return 0;  
  9. }   
  10. double Area(int radio)//實(shí)現(xiàn)方法,這是一個(gè)根據(jù)半徑計(jì)算面積的方法  
  11. {  
  12. return PI*radio*radio;  

 

 

總結(jié)起來說,我們推薦用const,而不是#define預(yù)處理指令

1. const可以定義數(shù)據(jù)類型,提高了類型安全性。例如,我們上面可以指定PI這個(gè)常量是double類型

2. const既然是變量(這里有點(diǎn)別扭,它其實(shí)是不變的,但名稱叫做常值變量),那么就有地址,適用面更加廣

3. 語法上也更好理解一些

 

題外話:在C#中能不能使用符號(hào)呢?

C#中也可以使用符號(hào)定義,例如下面這樣

 

  1. #define MINI   
  2. using System;  
  3. using System.Collections.Generic;  
  4. using System.Text;   
  5. namespace ConsoleApplication1  
  6. {  
  7. class Program  
  8. {  
  9. static void Main(string[] args)  
  10. {   
  11. #if MINI  
  12. Console.WriteLine("你定義了MINI符號(hào)");  
  13. #endif  
  14. Console.Read();  
  15. }  
  16. }   

 

 

一般這樣做的C++定義變量目的都是為了改變編譯行為。因?yàn)?define是編譯器指令

除了用#if這樣的條件編譯語句之外,我們還可以用Conditional指令

 

 

  1. #define MINI   
  2. using System;  
  3. using System.Collections.Generic;  
  4. using System.Text;  
  5. using System.Diagnostics;   
  6. namespace ConsoleApplication1  
  7. {  
  8. class Program  
  9. {  
  10. static void Main(string[] args)  
  11. {   
  12. #if MINI  
  13. Console.WriteLine("你定義了MINI符號(hào)");  
  14. #endif   
  15. //按條件調(diào)用方法  
  16. SomeMethod();   
  17. Console.Read();  
  18. }   
  19. [Conditional("MINI")]//Conditional 是一個(gè)新的Attribute,可以進(jìn)行條件編譯,
    本例的意思是只有定義了MINI這個(gè)符號(hào)的情況下,才將該方法編譯進(jìn)去。
    否則,任何其他調(diào)用處都將放一個(gè)空白。  
  20. static void SomeMethod()  
  21. {  
  22. Console.WriteLine("你調(diào)用了我的方法");  
  23. }  
  24. }   

 

但是conditional只能針對(duì)void方法,這其實(shí)很好理解。因?yàn)槟阋?,它可能被替換掉,就是可能不被編譯。如果它有返回值,而且該值需要被其他程序代碼使用,那不就是麻煩了嗎。

以上就是對(duì)C++定義變量的相關(guān)介紹。

責(zé)任編輯:曹凱 來源: 博客園
相關(guān)推薦

2010-02-06 14:12:54

C++繼承方式

2010-01-25 10:25:19

C++變量

2010-01-26 15:51:06

C++變量

2010-02-02 14:06:50

C++ const變量

2010-01-13 17:04:36

C++語言

2010-01-18 15:40:37

Visual C++工

2024-03-14 11:27:16

C++變量編程

2010-02-02 17:39:31

C++構(gòu)造函數(shù)

2010-02-04 16:39:26

C++析構(gòu)函數(shù)

2010-02-03 17:23:27

C++使用接口

2010-01-13 18:34:43

C++ 托管

2010-01-18 16:27:26

C++語言

2010-01-18 10:53:26

2010-02-03 16:42:45

C++變量作用域

2010-01-28 11:08:09

C++變量

2010-01-28 10:07:52

C++手冊(cè)

2010-02-06 11:13:11

C++ makefil

2010-01-28 13:27:12

C++類定義

2010-01-21 11:23:58

C++函數(shù)調(diào)用

2010-01-18 13:42:51

C++代碼
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)