欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 创投人物 > C++基本内置数据类型:算术类型、字面值常量和常量

C++基本内置数据类型:算术类型、字面值常量和常量

2024/10/24 3:21:31 来源:https://blog.csdn.net/qq_42279379/article/details/140351050  浏览:    关键词:C++基本内置数据类型:算术类型、字面值常量和常量

基本内置类型

(1)算术类型

bool,char(1Byte),wchar_t(2Byte),char16_t(2Byte),char32_t(8Byte)

short(2Byte),int(2Byte | 4Byte),long(4Byte),long long(8Byte)

float(4Byte,6位有效数字),double(8Byte,10位有效数字)

A.整型

bool、char、short、int、long、long long、unsigned *

B.浮点型

float、double、unsigned *

(2)字面值常量

A.整型字面值

八进制:024; 十进制:20; 十六进制:0x14

B.字符字面值

  • 单字符字面值:

‘a’、’A’、’0‘

  • 转义字符字面值:

\n、\t\v(制表符)、\'(单引号)、\"(双引号)、\a(响铃)、\b(退格符)、\?(问号)、\r(回车符)

  • 布尔字面值:

false、true

  • 指针字面值:

nullptr

C.指定字面值类型

前缀指定:

u’w’--------------------------char16_t
U’w’-------------------------char32_t
L‘w’--------------------------wchar_t
u8‘w’------------------------char

后缀指定:

120u or 120U-------------usigned
1978l or 1978L-----------long
128100000000LL or 128100000000ll-----------long long

128.1f----------------------float
128.1F---------------------float
1998.12L------------------long double
1998.12l------------------long double

(3)常量

A.What(什么是常量)

被const修饰关键字修饰的变量。既然是常量,那么在创建的时候就必须被初始化。
涉及到指针常量时,需区分顶层指针和底层指针
**顶层指针:**指针本身就是一个常量

int a=10;
int const *ptr = &a;

**底层指针:**指针所指向的是一个常量

const a = 10;
const int *ptr = &a;

B.Why(常量有什么用)

安全性:保护特定数据不被修改
可读性:提高代码的可读性
可维护性:便于修改字面常量的值

C.常量表达式和constexpr

What(常量表达式)

在编译过程中就得到了计算结果的表达式,且其值不会改变

如:

const int maxValue = 300; //maxValue是常量表达式
const int limit = maxValue + 20; //limit也是一个常量表达式

constexpr关键字

用constexpr关键字声明的变量,一定是一个常量

const int *p = nullptr; //p是一个指向整型常量的指针(指针本身不是常量)
consntexpr int *q = nullptr; //q本身是一个常量

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com