知识大全 正确理解C#中的关键字[3]

Posted

篇首语:人生在勤,不索何获本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 正确理解C#中的关键字[3]相关的知识,希望对你有一定的参考价值。

正确理解C#中的关键字[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  //

  // MyClass definition

  #pragma once

  class MyClass

  

  public:

  int Value;

  ;

  typedef MyClass* MyClassPtr;

  //

  // Tester methods

  void TestRef(char* i)

  

  *i = b ;

  

  void TestNoRef(char i)

  

  i = c ;

  

  void TestRef(MyClassPtr* m)

  

  (*m) >Value = ;

  

  void TestNoRef(MyClassPtr m)

  

  m >Value = ;

  

  void TestCreateRef(MyClassPtr* m)

  

  delete (*m);

  *m = new MyClass();

  (*m) >Value = ;

  

  void TestCreateNoRef(MyClassPtr m)

  

  m = new MyClass();

  m >Value = ;

  

  int main(int argc char* argv[])

  

  char c = a ;

  TestRef(&c);

  printf( %c\\n c); // output: b

  TestNoRef(c);

  printf( %c\\n c); // output: b

  MyClassPtr m = new MyClass;

  m >Value = ;

  TestRef(&m);

  printf( %d\\n m >Value);

  TestNoRef(m);

  printf( %d\\n m >Value);

  TestCreateRef(&m);

  printf( %d\\n m >Value);

  TestCreateNoRef(m);

  printf( %d\\n m >Value);

  delete m;

  return ;

 

这两段分别用 C# C++ 实现的代码的输出结果都是一样的 后面用 MyClass 测试的输出结果是

 

  

  

  

 

  具体的原因相信经过大家的分析应该会很清楚的 另外如果大家有兴趣可以用 structs 再试试 也可以同时对 structs C++ C# 中的区别有进一步的认识

[ ]  [ ]  [ ]  

cha138/Article/program/net/201311/15038

相关参考

知识大全 正确理解C#中的关键字[1]

正确理解C#中的关键字[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!最近有人问到ref关键字

知识大全 正确理解C#中的ref关键字(续)[2]

正确理解C#中的ref关键字(续)[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!那么我们再来

知识大全 正确理解C#中的ref关键字(续)[1]

正确理解C#中的ref关键字(续)[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!前几天写了一

知识大全 C#编程中的 New 关键词的几种用法[3]

C#编程中的New关键词的几种用法[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!newpub

知识大全 理解C#中的代理和事件(一)

理解C#中的代理和事件(一)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  突然写这篇文章真的有

知识大全 c# static的全部用法收集整理

   static的全部用法   要理解static就必须要先理解另一个与之相对的关键字很多人可能都还不知道有这个关键字那就是auto其实我

知识大全 c#:static使用方法整理

  要理解static就必须要先理解另一个与之相对的关键字很多人可能都还不知道有这个关键字那就是auto其实我们通常声明的不用static修饰的变量都是auto的因为它是默认的就象short和long

知识大全 深入理解C# 3.0的五项主要改进

深入理解C#3.0的五项主要改进  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!隐型局部变量  C#

知识大全 c#中的params关键字的应用

  要接受未知数目的参数可以使用关键字params该关键字用于参数列表中声明参数列表最后面的值params关键字与数组一起使用  当值被传递给方法时编译器首先查看是否有匹配的方法如果有则调用该方法如果

知识大全 C#编程中的 New 关键词的几种用法

C#编程中的New关键词的几种用法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nb