C++中的引用问题

来源:互联网 发布:大学生就业数据统计 编辑:程序博客网 时间:2024/06/03 05:24

1、malloc和new区别与联系

a、malloc:

malloc为函数,需要头文件,申请的无类型,需要强制转换;free释放。

示例:char *p = (char *)malloc(10 * sizeof(char));

free(p);

b、new:

new是运算符,不需要头文件,申请的是有类型的,自动调用构造函数;delete释放,自动调用析构函数。

示例:char *p = new char[10];

delete []p;

2、引用与指针

指针是个变量,可将其赋值成指向别处的地址;建立引用时必须初始化且不会再关联其他变量;不能对数组引用,不能对void类型引用。

局部变量不能被函数返回为引用,只能返回值;可返回静态局部变量。

示例:float& function(float r)

{

float temp;

temp = 3.14 * r * r;

return temp; //error 返回引用是个局部变量

}

0 0
原创粉丝点击