IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C++中的常量 -> 正文阅读

[C++知识库]C++中的常量

1. 字面量

int Num = 0;
cout<<"ERROR"<<endl;

定义的变量Num,初始化赋值位0。这个0是代码的一部分,在编译过程中,只要后面的代码不对其进行修改,则其值是不会进行改变的,就相当于一个不变量。也就是字面量,下面的“ERROR”字符串也是字面量

2. const修饰

const double Pi = 22.0/7;
double Area = 2 * Pi * 2;
//Pi = 3.14 ERROR

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。
但是不推荐使用该方法,甚至都已经被摒弃,因为当进行转换的时候不会进行类型检查,这会导致出现大错误

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-03-06 12:43:52  更:2022-03-06 12:45:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 4:33:52-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码