1. 字面量
int Num = 0;
cout<<"ERROR"<<endl;
定义的变量Num,初始化赋值位0。这个0是代码的一部分,在编译过程中,只要后面的代码不对其进行修改,则其值是不会进行改变的,就相当于一个不变量。也就是字面量,下面的“ERROR”字符串也是字面量
2. const修饰
const double Pi = 22.0/7;
double Area = 2 * Pi * 2;
const int* IntPtr = NULL;
int* const DoublePtr = NULL;
const int* const ThirdPtr = NULL;
使用cosnt时,只能在声明时初始化。但是一经定义就不允许修改,这就是const修饰的常量。 要养成使用const的习惯,当意识到某个变量在使用过程中是不变量时,要有意识的将其声明位const,这有利于其他程序员理解程序。 const修饰指针:
const type* virName:指针指向可以修改,但是指针指向的值不能修改 type* const virName:指针指向不能修改,但是指针指向的值可以修改 const type* const virName:指针指向和其值都不能修改
3. constexpr修饰
constexpr double Pi(){ return 22.0 / 7; }
constexpr double Area(){ return 2 * Pi(); }
constexpr修饰的函数是在编译时就进行运算的。 有利于减少应用程序的运行时间:在c++11时,使用constexpr时在编译时就进行运算,而上面代码第二行如果使用const来修饰,则会在运行时才进行计算。 在c++11之前不支持在编译期间就进行运算的函数,使用了constexpr可以提升优化应用程序的可能性。
4. enum修饰
enum Rainbow
{
red = 0,
blue,
orange,
yellow,
indigo,
violet
};
enum Pi
{
PI = 3.14
};
int main()
{
cout<<blue<<endl;
Rainbow r1 = orange;
cout<<r1<<endl;
cout<< 2 * PI<<endl;
}
枚举常量值,定义一个枚举常量可以在其中选择,可以将其每个常量都进行赋值。也可以指赋值一个,后面的每一个都会比前一个多一,也可以都不进行赋值,默认第一个位0;
5. #define
#define PI 3.14
使用宏定义的形式来进行常量赋值,当遇到PI时将其转换为后面的PI。 但是不推荐使用该方法,甚至都已经被摒弃,因为当进行转换的时候不会进行类型检查,这会导致出现大错误
|