您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關C++中怎么定義和使用變量,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
C++定義變量有兩種主要的做法
1. 符號常量 (#define)
2. 常值變量 (const)
符號常量的定義方式,其實與C++本身沒有關系,它是一個編譯器指令,或者稱為預處理指令(有關的預處理指令還有#include,#ifdefine等等)。它的用法如下
#define PI 3.1415926
這樣的語法就定義了一個叫做PI的符號常量,它的值指定為3.1415926.
【注意】因為它其實不是C++語法,所以它不需要(也不能)用分號結束。
我們怎么使用呢
#include < iostream> #define PI 3.1415926 using namespace std; int main() { double Area(int radio);//聲明方法 cout< < Area(2)< < endl; return 0; } double Area(int radio)//實現方法,這是一個根據半徑計算面積的方法 { return PI*radio*radio; }
與符號常量相對的,常值變量需要通過const關鍵字定義。相對來說,const更加現代,它是c++的一個關鍵字,它的用法如下
const double PI=3.1415926;
我們把上面的代碼轉換一下
#include < iostream> using namespace std; const double PI=3.1415926; int main() { double Area(int radio);//聲明方法 cout< < Area(2)< < endl; return 0; } double Area(int radio)//實現方法,這是一個根據半徑計算面積的方法 { return PI*radio*radio; }
總結起來說,我們推薦用const,而不是#define預處理指令
1. const可以定義數據類型,提高了類型安全性。例如,我們上面可以指定PI這個常量是double類型
2. const既然是變量(這里有點別扭,它其實是不變的,但名稱叫做常值變量),那么就有地址,適用面更加廣
3. 語法上也更好理解一些
題外話:在C#中能不能使用符號呢?
C#中也可以使用符號定義,例如下面這樣
#define MINI using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { #if MINI Console.WriteLine("你定義了MINI符號"); #endif Console.Read(); } } }
一般這樣做的C++定義變量目的都是為了改變編譯行為。因為#define是編譯器指令
除了用#if這樣的條件編譯語句之外,我們還可以用Conditional指令
#define MINI
using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
#if MINI
Console.WriteLine("你定義了MINI符號");
#endif
//按條件調用方法
SomeMethod();
Console.Read();
}
[Conditional("MINI")]//Conditional 是一個新的Attribute,可以進行條件編譯,
本例的意思是只有定義了MINI這個符號的情況下,才將該方法編譯進去。
否則,任何其他調用處都將放一個空白。static void SomeMethod()
{
Console.WriteLine("你調用了我的方法");
}
}
}
關于C++中怎么定義和使用變量就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。