最全C++知识点--变量和基本类型

1 short和int至少16位,long至少是32位,long long一般是64位的。

2 unsigned u=10; int i=-42; u+i=4294967264;先将-42转成无符号数再进行相加。

3 转义序列:

换行符: \n         横向制表符:\t      报警:\a      纵向制表符:\v

退格符:\b          双引号:\”           反斜线:\\     问号:\?

回车符:\r           

4 变量初始化方法:

int units_sold1 = 0;

int units_sold2 = {0};

int units_sold3{0};

int units_sold4(0);

long double ld=3.141519265436;

//int a{ld},b={ld};  错误,转换未执行

int c(ld),d=ld;

5 double salary=wage=9999.999; 非法操作,同一语句初始化要分别进行

6 如果声明一个变量而非定义它,就在变量名前添加关键字extern,而且不要显示初始化变量;

变量能且只能被定义一次,但可以被多次声明;

7 标识符由字母、数字和下划线组成,其中必须以字母或下划线开头;

8 引用为对象起了另一个名字,引用本身不是一个对象,不能定义引用的引用;

int ival = 1024;

int &refVal = ival;

//int &refVal2; //报错,引用必须初始化

//int &refVal4=10;//报错,引用必须是一个对象

double dval = 3.14;

//int &refVal5=dval;//报错,引用的类型必须一致

9 指针是指向另外一种类型的复合类型,指针必须指向指定地址,引用不是对象,没有实际地址,所以不能定义指向引用的指针,空指针初始化;

int *p1 = nullptr;

int *p2 = 0;

int *p3 = NULL;

Void*是一种特殊的指针类型,可用于存放任意对象的地址。

指针是对象,存在对指针的引用。

10 const限定符

const int bufSize = 512;

//bufSize=512; const对象不能从新写

//const int k;//错误,k是一个未经初始化的常量

const int ci = 1024;

const int &r1 = ci;

//r1=42; r1是对常量的引用

//int &r2=ci;//不能让非常量引用指向一个常量对象

const int &r2 = 42;

int i = 42;

const int &r3 = i;

const int &r4 = r3 * 2;

//int &r5=r3*2;

要想使用没有初始化的const,可以加extern关键字;

11 顶层const表示指针本身是个常量,而底层const表示指针所指的对象是一个常量。

int *const p1 = &i;//不能改变p1的值,这是一个顶层const

const int c2 = 42; //ci值不能改变,是一个顶层const

const int *p2 = &ci; //p2值可以改变,是一个底层const

12 常量表达式是指不会改变且编译过程中就能得到计算结果的表达式。

constexpr int mf = 20;

constexpr int limit = mf + 1;

const int *p = nullptr;//p是一个指向整形常量的指针

constexpr int *q = nullptr;//q是一个指向整形的常量指针

constexpr定义的对像改变为顶层const;

13 类型别名

typedef char *pString;

const pString cstr = 0;//cstr是指向char的常量指针

const pString *ps;//ps是一个指针,它的对象是指向char的常量指针

14 decltype类型指示符

int m = 42, *p3 = &m, &r5 = m;

decltype(r5+0) b;

//decltype(*p3) c; 引用类型必须初始化话

//decltype((i)) d;

decltype(i) e;

如果表达式的内容是解引用操作,则decltype得到引用类型。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值