[WIP]C++ 数组, 指针, reference

创建: 2020/02/03

 

object的数组
 

 和自带类型的数组一样的声明, 定义, 获取方法

Sample a[2]; //声明
Sample a[2] = { Sample(-1), Sample(-1) }; // 有构析函数的可以初始化
Sample a[2] = { -1, -1 }; // 构析函数只有一个参数的可以省略型名

 

   
   
   
object的指针
 

 和自带类型的指针一样

 ● 获取成员时用  ->  

 

class Sample {
public:
    int a;
    Sample(int n) { a = n };
}

// 使用object的指针
Sample *p = &Sample(1);
cout << p->a;

 

 

   
   
   
this
 

 ● 呼出成员函数时会自动把当前object带入this

 ● this只有成员函数有, friend函数没有 

class Sample {
    int a;
public:
    Sample(int n) {
        this. a = n;
    }
};

 

 

   
   
   
new与delete
 new

 相当于C的malloc, 但有以下好处

 ● 自动分配大小, 不用自己算, 减少错误

 ● new返回的是制定类型的指针,不用再cast

 ● new, delete可以重载

 ● 可对分配的内存初始化

int *a = new int;
int *b = new int(10); // 可以对new返回的对象初始化, 括号前可以有空格
// new数组, new数组不能初始化
Sample *c = new Sample[10]; // new一个10元素的Sample数组 

 

 

 delete

 

delete a;
// delete 数组
delete [] b;
delete [] c;

 

 

   
   
reference
   TODO
   
   
   
传递object的参照
   
   
   
   
返回参照
   
   
   
   
独立参照与限制
   
   
   
   
posted @ 2020-02-03 00:15  懒虫哥哥  阅读(274)  评论(0编辑  收藏  举报