C++要点复习笔记

1.函数指针的好处就是可以把函数的当作形参代入到另一个函数中。函数指针的实参用函数名代入。

 

2.int main(int argc, char * argv[])
argc 为命令行个数 用空格分开 包括函数名
argv数组 大小为argc个 里面存有命令行的值
//argv[0]为函数名

 

3.引用
<1>定义时初始化某个变量
<2>初始化之后不能再引用别的了
<3>只能引用变量,不能引用常量或表达式


 

4.引用作为函数的返回值

int n=4;
int &SetValue()
{
 return n; 
 }
int main()
{
 SetValue()=40;
         cout<<n;
         return 0;
}


 


5.常引用 //前面加const
注意const修饰的内容
const int & n=m;
修饰的引用,所以引用不能被修改,所以引用的值不能被修改。

 


 

6.new实现动态内存分配
<1>P=new T;
T为类型名 P为T*类型的指针 动态分配sizeof(T)字节的内存
<2>P=new T[N];
分配N*sizeof(T)字节的内存
new运算符的返回值的类型都是T*

 

 

7.delete释放动态分配内存
delete p;
delete []p; //释放数组
不能delete多次。

 

 

8.内联函数

减少函数调用的开销 //直接把函数体贴上去

inline+ 函数名

 

 

9.函数重载

函数名相同,参数不同(个数或者类型不同)

int max(int , int);

int max(double,double);

int max(int,int,int);

<1>使函数的命名简单

<2>编译器根据实参确定调用的函数

<3>注意发送二义性//几种情况都可以,编译器不知道调用哪个函数 比如 max(2.4,4);

//若函数名相同,参数相同,返回类型不同 则为重复定义

 

 

10.函数缺省参数

<1>提高程序的可扩充性

<2>能让最右边的连续参数缺省 //实参左对齐

 

11.复制构造函数起作用的三种情况

<1>用类的成员给类的成员初始化

<2>类的成员(实参)给函数的形参初始化

<3>函数返回类的成员//赋给另一个成员

构造函数可以自己写 形参为类的成员的引用 

Class A

{

     A(const  A &a);

}

并且调用复制构造函数给类的成员初始化的时候,二者的值不一定一样。取决于你的类的复制构造函数是怎么写的。

 

12.类型转换构造函数调用时会产生临时的类的对象,则会调用

->类的构造函数和类的析构函数

 

13.类的静态成员变量/函数

只有一份,类的成员共享这一份。

而其他成员变量int num等,每个类的对象都有自己的一份。

 

14.this指针//类的成员函数相当于会隐藏的多出一个参数为this指针 指向实现函数的对象

15.析构函数和构造函数的顺序问题

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值