1.  new和delete的用法
  2. 引用  

new和delete

相当于c中的malloc和free

此为存放在堆区,完全由程序员控制

new为返回指针类型

用法:指针变量名=new 类型名(初值)

#include<iostream>
using namespace std;

int* f()
{
    int* p=new int(10);
    return p;
}
int main()
{
    f();
    int *p=f();
    cout<<*p<<endl;
    system("pause");
    return 0;
}

同样,也可以开辟数组

#include<iostream>
using namespace std;

int* f()
{
    int* p=new int[10];
    int i;
    for(i=0;i<10;i++){
        p[i]=i+1;
    }
    return p;

}
int main()
{
    int i;
    int *p=f();
    for(i=0;i<10;i++){
        cout<<p[i];
    }
    system("pause");
    return 0;
}

delete的用法,因为上面已经int* p,此处只用delet p即可

可以发现,人为清除了后,输出的是不是想要的数字。

引用

作用:相当于给变量起别名。

语法:类型& 引用名=已经定义的变量名。

eg:int& a=b

引用可以作为函数参数和函数返回值

作为函数参数:

 

关于函数参数传递的几种方式:

1,值传递,实参不会发生改变,只会改变形参,即自定义函数的改变不会对主函数造成影响。

 

2,指针传递,形参会修饰实参

 

 3,引用传递,在上文已经提过

引用作为函数返回值

注意,不要返回局部变量的引用

还有函数的调用可以作为左值。 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐