据我了解这些,如果你把这些传递给一个方法,这将是类似的C风格:
价值类型:
public voID CSharpFunc(value)
和
public voID CPlusplusFunc(value)
参考类型:
public voID CSharpFunc(reference)
和
public voID CPlusPlusFunc(&reference)
‘ref’/指针
public voID CSharpFunc(ref bar)
和
public voID CPlusPlus(*bar)
这是一个正确的比喻吗?
解决方法Is this a correct analogy?
尽管其他答案都说了,不.什么参考C意味着C实际上取决于类型.对于价值类型,您的评估是正确的(或足够接近).对于参考类型,更合适的类比将是参考指针:
public voID CPlusPlus(type*& bar)
关于参考的全部内容是,您可以更改传入的引用.您不能通过简单地传递指针来在C中执行此 *** 作:
voID f(type* bar) { bar = new_address;}type* x;f(x);
这段代码不会改变调用者的x值.如果你已经通过了类型*& amp;;另一方面,它会改变价值.那就是参考文献.
此外,C#中的引用与C中的引用非常不同,更像C中的指针(可以更改引用引用的对象).
总结以上是内存溢出为你收集整理的使用C#’ref’关键词与C相比全部内容,希望文章能够帮你解决使用C#’ref’关键词与C相比所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)