C++复习笔记(1)

今天开始把C++的书重新拿出来仔细看了看,在这里记些笔记,主要记一些以前没太注意的内容和一些重新体会到的内容。

1、核心概念:数据封装、继承、多态性、泛型编程。

2、常量是可以有后缀的,不过都可以省略,包括U(无符号整数)、L(长整数)、F(浮点)、LF(double,long double)。

3、指针

int c = 10;
int *p;
p = &c;
cout << p;  //c的地址
cout << *p;  //100,c的值
cout << &p;  //p的地址
*p = 100;    //等价 c = 100;


4、const  和指针

(1) const int *p = &a;  a的值不能变
(2)int * const p = &b;  
                 p只能指向b的地址,p单元中的值(b的地址)不能变
(3) const int * const t = &a;都不能变

5、引用    

int a = 1
int &ra1 = a;   //ra1和a等价

//int &ra2 = 10;  ERROR
const int &ra2 = 10;//个人感觉没什么意义,和 const int ra2 = 10;没什么区别
6、二维数组排列方式Arr[2][3]

Arr[0][0]   Arr[0][1]   Arr[0][2]  Arr[1][0]  Arr[1][1]  Arr[1][2]

7、数组和指针

int arr[] = {5,4,3,2,1};
int *p = arr; //无&
cout << *p; //等价cout<<p[0];  结果为5
cout << *(p+1);//等价cout<<p[0+1];  结果为4
cout << (*p + 1);//等价cout<<p[0]+1;结果为6
8、结构指针

struct1 s1;
struct *p = s1;
(*p).id = 111;//<=>  p->id = 111;
//*p.id = 111;//ERROR

9、类型转换
(1) a = static_cast<int >(b);
(2) const int b = 1;
  a = const_cast<int>(b);
(3) dynamic_cast<类型名>(表达式);
(4)reinterpret_cast<类型名>(表达式);
  int a,*p = &a;
  double *q;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值