程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C++定義變量使用方式簡介

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

編輯:C++入門知識

C++編程語言對於廣大開發人員來說並不陌生,它的作用廣泛,能夠幫助我們輕松的完成各種功能。在這裡我們將會為大家詳細介紹有關C++定義變量的方法,希望能夠幫助大家解決一些問題。

  • C++聲明放置正確應用方式
  • C++內聯函數給我們帶來哪些幫助
  • C++智能指針應用方式體驗
  • C++托管到底是什麼
  • C++命令行模式編譯設置技巧分享

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

1. 符號常量 (#define)

2. 常值變量 (const)

符號常量的定義方式,其實與C++本身沒有關系,它是一個編譯器指令,或者稱為預處理指令有關的預處理指令還有#include,#ifdefine等等)。它的用法如下

#define PI 3.1415926

這樣的語法就定義了一個叫做PI的符號常量,它的值指定為3.1415926.

注意】因為它其實不是C++語法,所以它不需要也不能)用分號結束。

我們怎麼使用呢

  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)//實現方法,這是一個根據半徑計算面積的方法  
  11. {  
  12. return PI*radio*radio;  

與符號常量相對的,常值變量需要通過const關鍵字定義。相對來說,const更加現代,它是c++的一個關鍵字,它的用法如下

  1. const double PI=3.1415926; 

我們把上面的代碼轉換一下

  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)//實現方法,這是一個根據半徑計算面積的方法  
  11. {  
  12. return PI*radio*radio;  

總結起來說,我們推薦用const,而不是#define預處理指令

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

2. const既然是變量這裡有點別扭,它其實是不變的,但名稱叫做常值變量),那麼就有地址,適用面更加廣

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

題外話:在C#中能不能使用符號呢?

C#中也可以使用符號定義,例如下面這樣

  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符號");  
  13. #endif  
  14. Console.Read();  
  15. }  
  16. }   

一般這樣做的C++定義變量目的都是為了改變編譯行為。因為#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符號");  
  14. #endif   
  15. //按條件調用方法  
  16. SomeMethod();   
  17. Console.Read();  
  18. }   
  19. [Conditional("MINI")]//Conditional 是一個新的Attribute,可以進行條件編譯,
    本例的意思是只有定義了MINI這個符號的情況下,才將該方法編譯進去。
    否則,任何其他調用處都將放一個空白。  
  20. static void SomeMethod()  
  21. {  
  22. Console.WriteLine("你調用了我的方法");  
  23. }  
  24. }   

但是conditional只能針對void方法,這其實很好理解。因為你要知道,它可能被替換掉,就是可能不被編譯。如果它有返回值,而且該值需要被其他程序代碼使用,那不就是麻煩了嗎。

以上就是對C++定義變量的相關介紹。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved