笔试整理四

1. 关键字const作用
1.1 const 用来定义只读变量
  定义时,const可以放在类型说明符前或者后面
Int const I = 2  const int I = 2
1.2定义或说明一个只读数组
   int const a[5] = {1,2,3,4,5}; 或 const int a[5] = {1,2,3,4,5}
1.3 const 修饰指针
   先忽略类型名(编译器解析的时候也是忽略类型名),我们看const离哪个近,“近水楼台先得月”,离谁近就修饰谁。
const (int) *p   //const 修饰*p,p是指针,*p是指针指向的对象,不可变。
(int) const * p; //const 修饰*p,p是指针,*p是指针指向的对象,不可变。
( int) * const p;//const 修饰p,p不可变,p指向的对象可变
const ( int)* const p;  // 前一个const修饰*p,后一个const修饰p,指针p和p指向的对象都不可变
1.4 const 修饰函数参数
   使参数值在函数体内不会被任意改变
void Fun(const int *p);
1.5const修饰符也可以修饰函数的返回值,返回值不可被改变。例如:
    const int Fun(void);
2. typedef 是赋予现有类型一个新的名字,而不是创建新的类型。
3. static
3.1 static修饰局部变量
在全局数据区分配内存
不显示初始化的话,将被隐式初始化为0
作用于为局部作用域,当定以他的函数或语句结束时,其作用也随之结束
3.2 static 修饰全局变量
在全局数据区分配内存
不显示初始化的话,将被隐式初始化为0
作用域只能在本文件内,即只能在本文件使用
3 .3 static 修饰函数
   静态函数只能在本源文件使用
3.3 C++中static 作用
3.3.1 数据成员前 + static 
对类的多个对象而言,静态数据成员只分配一次内存,由该类型的类的对象所共享,
静态数据成员存储在全局数据区,静态成员定义时要分配内存,所以不能在类中定义,要在累的外部对数据成员进行初始化。
静态数据成员有两个优势: 
1. 静态数据成员没有进入程序的全局名字空间,因此不存在与程序中其它全局名字冲突的可能性; 
2. 可以实现信息隐藏。静态数据成员可以是private成员,而全局变量不能;
3.3.2 静态成员函数
。类的内部声明,外部进行函数实现
。静态成员之间可以相互访问
。非静态成员之间不能相互访问,但是非静态数据函数可以任意访问静态成员函数和静态数据成员
。静态成员函数不能访问非静态的
。静态成员函数由于不是与任何的对象相联系,没有this指针,效率会提高
4. explicit 关键字
用来禁止构造函数进行隐式转换
5. list 删除相同元素 remove(1)
6. 封装一个线程类,要求类的实例一被创建就启动一个线程,并以类的一个成员函数作为线程工作函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值