【每天学一点】C++基础5

  好无聊,好无聊,好无聊。今天看了点英语,要考6级了,考了5年了。6级还没有过,有点、有点……但总是看不进,感觉这次又过不了了。只是好困啊……
  


局部静态对象:static 修饰的变量,直到程序终止才被销毁

//例子
int a(){
static int c=0;
return ++c;
}
void main(){
for(int I=0;i<10;i++){
cout<<a()<<endl;
}

此时输出1-10。

默认实参

string screen(int h=24,int w=48,char bg=' ');

//调用
s=screen();  //等价于screen(24,48,' ')
s=screen(22)  //screen(22,48,' ')
s=screen(, ,' !'); //错误:只能省略尾部实参
s=screen('!');  //调用screen('!',48,' '),此时会把char字符强制转换成int类型

//注意,一旦一个形参被赋予了默认值,后面的所有形参都必须有默认值
string s(int h=24,int w); //错误,默认参数不在形参列表结尾

函数指针

bool lengthCa(const string &,const string &); //一个返回值是bool类型的函数
bool (*p)(const string &,const string &); //p指向一个2参数函数  

//使用 ,将lengthCa的地址赋给p
p=lengthCa;  //p指向名为length的函数
p=&lengthCa; //等价的

//调用,三种等价形式
bool b1=p("a","b"); 
bool b2=(*p)("a","b"); 
boole b3=lengthCa("a","b"); 

构造函数初始值列表:

Ace(const string &a,unsigned n,double s):bN(a),aN(n),cN(s*n){}
//用前2个初始化bN,aN的,2和3参数初始化cN

new和delete 

int *p=new int(30); //*p=30 分配基础类型,初始化为30
delete p; //释放内存 

//分配数组
int *arr=new arr[10];
arr[0]=1;
delete []arr;  //释放 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值