大三那会还在搞单片机和MFC,玩的纯C系的语言,每天和指针打交道,一切皆指针。有一天,听说JAVA里没有了指针,我大惊失色,指针都没了,这语言还能搞啥? 后来,类似C#,JAVA的高级面向对象语言用得多了。大三那会还在搞单片机和MFC,玩的纯C系的语言,每天和指针打交道,一切皆指针。有一天,听说JAVA里没有了指针,我大惊失色,指针都没了,这语言还能搞啥?后来,类似C#,JAVA的高级面向对象语言用得多了。反过来思考,高级面向对象语言没有了指针,到底是好事还是坏事?这种区别体现在哪里?本文以C#和C++为例做个对比,JAVA机制和C#类似。与各位共同探讨。为了简单,我们先定义一个Point类, 只有X,Y 两个变量。看看C++和C#之间的使用区别
C++中,指针和引用的有一定的区别,指针是一个地址,而引用只是别名,引用使用起来要方便得多。因为指针本身是地址,地址当然可以指向任何地方,所以便有了指针的指针,如果再和数组,函数,结构和类联系上,那简直就是考验人的大脑。 C++的引用,定义了就必须在声明时就初始化,而且不能更改。 C#中,只有引用,一切“引用型变量”都是引用。但这个引用和C++中的引用不同,它更像一个“地址”。如果你声明了 Point p, p就是引用。但是这个p可能没有初始化,你也可以在任何时候改变它。点评: 指针本来是好东西,但它太灵活,搞得太复杂了。反正我现在不大喜欢看*和&这类符号。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !