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

来源:互联网 发布:华为sa1456c改mac 编辑:程序博客网 时间:2024/05/29 17:48

  好无聊,好无聊,好无聊。今天看了点英语,要考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的地址赋给pp=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 分配基础类型,初始化为30delete p; //释放内存 //分配数组int *arr=new arr[10];arr[0]=1;delete []arr;  //释放 
0 0
原创粉丝点击