您的位置:首页 > 其它

指针 上帝神秘的礼物

2006-05-28 01:53 295 查看
犹太人认为要想成为一个真正的人必须要结婚,他们把结婚看的非常重要,不像美国人那样开放。与此同时他们觉得,性是上帝赐给他们的神秘的礼物,不可以不接受上帝的礼物。然而一项调查显示,在现实生活中有很多年轻人对性、结婚心里有很大的压力,因为不好把握。

有压力很正常,不过不能就这样马马虎虎的对待上帝的神秘礼物。要认真的学习更加要好好地对待它。

讲这么多也无非是想更好地理解程序员地神秘工具---指针。

模仿一句话 不会用指针的程序员就是不懂编程,就不是一个真正的程序员~

指针从它地发明到风靡,就好像是一个伟大的人,大家都知道它的存在的意义和都能看见它所发出的光芒。指针的出现标志着C语言的迅猛发展,有人说 C语言==指针,虽然这样说是有一点片面,但是却说出了所有C程序员的心声--用好指针就是用好了C语言!

在C、C++中的指针的出现主要有以下几个方面的应用:

1.作为参数,达到修改函数实参的目的。

C语言中函数的调用是通过传值来完成的,在被调用的函数里面修改的是实参的备份,出了函数体之后实参还是没有变化,是指针弥补的这个空缺,传给函数的是实参在内存中的地址,在被调用函数中使用的是在同一地址中的值,达到了修改实参的目的。 C语言中也因为这样的特性使用C编程更加强大。

然而事情远远没有那么简单,随着C++的出现,程序员拥有了强大的自己设计数据类型的工具-class之后,指针的应用也跟着有了更多的发展。同样是函数调用,如果实参是一个用户自定义的复杂类型,采用传值的机制进行交互的话,那将会付出非常大的效率代价,但是不是说传值一无是处,传值机制不让函数修改实参的值,站在用户的角度上来讲,这是非常好的设计。因为用户能很放心的使用这个接口。正是在这个矛盾不可调和的时候,引用的隆重登场为我们指明了方向,const String& str 这个经典的参数也成了C++的标志语法。引用达到了效率的提升的效果,const却能使用户用的放心。

那这样就可以不用指针了吗????

当然不是,打个比方,一把刀可以用来砍树,用来切菜,修指甲,微雕等等,但是实际上没有任何一个正常人这么做。引用代表着进步,但是并不是所有的场合都用引用最合适,引用的设计者把引用设计成从一而终,它代表着一种应用,却仅仅是一个方面。如果要一个要临时更换的变量时,指针才时最合适的工具。 其实呢,在底层引用也是以指针为基础来实现的,还有智能指针,迭代器等等这些STL术语也时基于指针的,指针的灵活性还有它的可扩充性是任何东西都无法替代的。

但是不能忘记最重要的一条:能用引用就一定不要用指针!!!!!!

2.分配动态内存,使程序更高效

内存的动态分配用到指针的原因是非常令人激动的,指针在内存中的空间仅仅是地址总线的大小。一般是8个字节,却能代表着任何大小的变量。用指针来操纵这些变量是非常高效的。试问指针能少吗?不过很多人认为应该把指针从编程语言中取消,他们的想法是要让语言更加符合软件工程上的特点,然而做为计算机的学习者来说指针的学习是必不可少的。

3.访问硬件

最后,我们一定要明白我们编程的目的,我们要完成任务就必须要满足软件开发的六大要求。我们要尽量用引用不要用指针!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: