关于C++的指针与引用的问题

2025-04-01 10:46:31
推荐回答(3个)
回答1:

1.程序中会把0转换为NULL返回,满足返回类型为const A *(指向一个常量的类A对象的指针)
按值返回或按引用返回时,只能用return one了,不能将0转换为类A的对象了。

2.引用就是没有指针语法的指针(C++ primer 上的讲法),它完全实现了指针的传址调用功能,引用相当于别名,其实你直接将其当做一个别名就可以了。引用与指针的区别: 引用必须初始化,而且初始化之后不可更改,指针却可以。

3.引用一般用作函数参数类型,如void func(int &k),实现对形参的实时操作。
指针的用途就太广泛了,不是两句话就能讲得清的,且不是高手不要滥用指针(大型程序往往会因为一个指针方面的小错误崩溃)。

回答2:

return 0,没错是因为可以给指针赋值0,one是局部变量,函数执行完就被销毁释放了,当然不能返回。可以返回变量的副本;或是临时变量。
指针:当想修改实参值时,或是本身就是指针的时候,如实参是个数组。。
引用:作为变量的别名,代表的是某变量本身,当实参是个大的对象时,为避免重复制副本,才用引用。

回答3:

c++ primer讲的很明白,引用就是引用呗. 指针和引用都能用.看你喜好了. 引用可以引用对象,也可以引用指针. 有时候需要指针的指针时,我就用引用指针