您好,登录后才能下订单哦!
这篇文章将为大家详细讲解有关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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。