C#中的传引用和C++中的用指针变量做参数是一样的把.?
答案:3 悬赏:0 手机版
解决时间 2021-03-04 17:21
- 提问者网友:情歌越听越心酸
- 2021-03-04 05:26
C#的ref 和C++的 *p 做为参数传递的话是一样的把?
最佳答案
- 五星知识达人网友:街头电车
- 2021-03-04 06:46
以下用C++说明.
Note1:
就代码来说, ref是高阶写法(比较好用), 指针是低阶写法.
编译後内部是一样的.
Note2:
ref的用法举例:
void inc(int& x) { x++; }
使用法 int a= ...; inc(a);
Note3:
pointer的用法举例:
void inc(int* px) { (*px)++; } 使用法 int a= ...; inc(&a);
这就是Note2的低阶形.
Note1:
就代码来说, ref是高阶写法(比较好用), 指针是低阶写法.
编译後内部是一样的.
Note2:
ref的用法举例:
void inc(int& x) { x++; }
使用法 int a= ...; inc(a);
Note3:
pointer的用法举例:
void inc(int* px) { (*px)++; } 使用法 int a= ...; inc(&a);
这就是Note2的低阶形.
全部回答
- 1楼网友:冷風如刀
- 2021-03-04 08:25
使用ref关键字的参数可以理解成传引用,在程序退出作用域后,指针和引用传递的值都会改变,从这点来看,两者具有相似性。但两者不是一个东西。ref有点类似于c++里面的影子变量的概念。撸主有兴趣可以自行搜索。但是c#里有指针,但属于非安全代码。
- 2楼网友:三千妖杀
- 2021-03-04 07:03
以下用c++說明.
note1:
就代碼來說, ref是高階寫法(比較好用), 指針是低階寫法.
編譯後內部是一樣的.
note2:
ref的用法舉例:
void inc(int& x) { x++; }
使用法 int a= ...; inc(a);
note3:
pointer的用法舉例:
void inc(int* px) { (*px)++; } 使用法 int a= ...; inc(&a);
這就是note2的低階形.
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯