永发信息网

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的低阶形.
全部回答
  • 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的低階形.
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯