博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++ primer 第一,二章笔记
阅读量:4985 次
发布时间:2019-06-12

本文共 1476 字,大约阅读时间需要 4 分钟。

#标准输入输出对象

cin,cout

cerr(输出警告和错误信息),clog(输出程序运行时的一般性信息)

 

#字面值常量

整型,浮点型字面值,

字符与字符串字面值,

布尔字面值,指针字面值;

 

#引用,指针,理解复杂类型的声明

引用: 

1必须初始化,且初始值为对象;

2.引用本身不是对象,所以不能定义 引用的引用;

3.引用只是一个别名;

int ival =1024;     int &refval = ival; //必须初始化

指针:

1.指针本身是对象;无须定义时赋初值;

2.*p, 其中p是变量名;

取地址符 & ,解引用符 * 

 

声明时: 

int *p = &ival;

赋值时:

 

p = &ival1;

 

 

指向指针的指针

int ival = 1024;  int *pi = &ival;  int **ppi = π

指向指针的引用:

int i =3;  int *p;  int *&r = p;  r= &i;  *r=0;

复合类型的声明

int ival = 1024;    int *pi = &ival;    int **ppi = pi; //指向指针的指针;

指针值(地址)应属于4种状态之一:

1.指向一个对象;2.指向紧邻对象所占空间的下一个位置;3.空指针(nullptr).4.无效指针;
建议初始化 所有的指针.

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

double obj =3.14,*pd = &obj;    void *pv = &obj;  pv = pd;

遇到这种复杂的情况时,我们可以使用从右向左阅读的方法
离变量名最近的符号对变量的类型有直接的影响,ppi是一个指针,r是一个引用
声明符的其余部分用来确定关联对象的类型,ppi指向的是一个指针,r引用的也是一个指针

int ***pi2;  int **&r2 = ppi;

 

#const 限定符

1.const 对象必须初始化;

2.const的引用

const int ci = 1024;  const int &r1 = ci;

3.指针与const

顶层const 表示 指针本身是常量;

int i = 0 ;  int *const p1 = &i;//不能改变p1的值;

底层const 表示 指针所指的对象是一个常量;

const int ci =41;  const int *p2 = &ci;//允许改变p2的值,这是一个底层const

 

#类型别名 

1.关键字 typedef 

typedef double wages;

2.别名声明  using

using SI = Sales_item;

!!!指针,常量和类型别名

typedef char *pstring;  const pstring cstr = 0;  //cstr是指向char的常量指针
const pstring *ps;     //ps是一个指针,它的对象是指向char的常量指针;

 

#auto类型说明符

 

#decltype 类型指示符

它的作用是选择并返回操作数的数据类型;

decltype (f()) sum =x;//sum的类型就是函数f的返回类型;

decltype和引用

切记:decltype((variable)) 注意是双层括号的结果永远是引用;

  

tobecontinued

转载于:https://www.cnblogs.com/chenjz1993/p/6749026.html

你可能感兴趣的文章
ARCGIS部分刷新
查看>>
发 零 食
查看>>
poj3613:Cow Relays(倍增优化+矩阵乘法floyd+快速幂)
查看>>
洛谷P1886 滑动窗口
查看>>
Shell编程(二)Bash中调用Python
查看>>
主动与被动监控 拓扑图组合图 自定义监控
查看>>
SQL总结(一)基本查询
查看>>
PDF分割--可脱离python环境执行,可传参数,可弹窗的PC端小工具
查看>>
cas-client-core单点登录排除不需要拦截的URL
查看>>
OCR技术浅探 : 文字定位和文本切割(2)
查看>>
jmeter集合点
查看>>
Java类代码块执行顺序
查看>>
克鲁斯卡尔(模板题)
查看>>
汉字转拼音
查看>>
Python中Web框架编写学习心得
查看>>
dataTable/dataSet转换成Json格式
查看>>
asp.net core模块学习
查看>>
MySQL远程连接不上的解决方法
查看>>
如何使用JMeter从文件中提取数据
查看>>
AndroidBase基础类文档
查看>>