知识大全 正确理解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相关参考