什么是常量-嵌入式实时操作系统uc/os-ii

时间:2024-07-13 19:10:28
【文件属性】:

文件名称:什么是常量-嵌入式实时操作系统uc/os-ii

文件大小:6.14MB

文件格式:PDF

更新时间:2024-07-13 19:10:28

C++

3.6 什么是常量 假设您要编写一个程序,计算圆的面积和周长,其公式如下: Area = pi * Radius * Radius; Circumference = 2 * pi * Radius 在这些公式中,pi 为常量,其值为 22/7。您希望在整个程序中,pi 的值都不变;您也不希望无意 间将错误的值赋给 pi。C++让您能够将 pi 定义为声明后就不能修改的常量。换句话说,定义常量后, 就不能修改它的值。在 C++中,给常量赋值会导致编译错误。 因此,在 C++中,常量类似于变量,只是不能修改。与变量一样,常量也占用内存空间,并使用 名称标识为其预留的空间的地址,但不能覆盖该空间的内容。在 C++中,常量可以是: • 字面常量; • 使用关键字 const 声明的常量; • 使用关键字 constexpr 声明的常量表达式(C++11 新增的); • 使用关键字 enum 声明的枚举常量; • 使用#define 定义的常量(已摒弃,不推荐)。 3.6.1 字面常量 字面常量可以是任何类型:布尔型、整型、字符串等。在您编写的第一个 C++程序(程序清单 1.1) 中,您使用了如下语句来显示 Hello World: std::cout << "Hello World" << std::endl; 其中的 Hello World 就是一个字符串字面常量。您几乎一直在使用字面常量!当您像下面这样声明 整型变量 someNumber 时: int someNumber = 10; 将这个整型变量的初始值设置成了 10。这个 10 是代码的一部分,被编译到应用程序中,是不可 修改的,因此也是字面常量。您可能使用八进制字面值来初始化整型变量,如下所示: int someNumber = 012 // octal 12 evaluates to decimal 10 从 C++14 起,您还可使用二进制字面量,如下所示: int someNumber = 0b1010; // binary 1010 evaluates to decimal 10 在 C++中,您还可定义自己的字面量,如温度 32.0_F(华氏)或 0.0_C(摄氏)、距离 16_m(英里)或 10_km(公里)等。 这些后缀(_F、_C、_m 和_km)被成为用户定义的字面量,将在第 12 章(讨论基本概 念后)介绍。 3.6.2 使用 const 将变量声明为常量 从实用和编程的角度看, 重要的 C++常量类型是在变量类型前使用关键字 const 声明的。通用的 声明方式类似于下面这样:


网友评论