指针,爱不起躲得起

       在上一篇文章里,因为“少用指针”一句,引起了很多同行的热烈评论,真是意想不到,干脆来八卦一下这个颇有意思的TOPIC。
 
       作为一个从C/C++成长起来的Programmer,我也曾经疯狂地迷恋过指针,并也曾因此而自以为是高高在上,可以说指针就象一个妖精,她妖艳动人,但也可怕与无情,我的心因她而怦怦乱跳过,也因她而伤心绝望过,我爱不起但躲得起,呵呵,千万别过早晕掉,更肉麻的还在后面呢。
 
       爱上指针的理由很多很多。指针是C/C++的一个重要概念,是一个重要特色,也是C/C++的精华所在。一个C/C++程序员,如果没有使用过指针,那真是程序人生的一大憾事。我依然清晰地记得,当年使用指针来处理数据结构、字符串及数组时是如此地过隐,简直是爽歪了,晚上做梦都在SMILE,另外,我们还可以通过获得所访问的任何变量的地址来引用内存,通过使用地址,我们可以执行所有种类的异常灵活的指针算法,呵呵,酷吧,总而言之,掌握指针的运用,可以使你的程序简洁、紧凑、高效,而且颇有特色,能完成许多用其它高级语言难以实现的功能,MY GOD,可怜的NEW NEW Programmer们可能都不知道苦命的老一辈程序员在胡说八道什么,因为MICROSOFT、BORLAND、SUN等等这些让人既爱又恨的WBD们将开发工具变得越来越傻瓜,很多PROGRAMMER们只会机械地拉摆各式各样的控件,写几行单纯的CODE,他们早就与指针、内存管理、消息机制等等说886,有点跑题了。
 
       言归正传,以上所述指针的所有功能是非常强大的,同时也是非常危险的,正因为它危险,所以在我慢慢老去的时候,我就只剩下了躲避的能力,悲哀啊。据权威人士的调查,在以C/C++开发的程序中,出现最频繁的BUG依次以下:(1)忘了释放内存,结果造成内存的泄露;(2)过于迅速地释放内存,结果造成坏的指针;(3)指向内存中错误的地址,误用了变量或栈。
 
       呵呵,看到了吧,使用指针是十分容易出错的,而且这些错误是很隐蔽很难以发现的,由于指针运用的错误而造成的后果是严重的,有时会使整个程序遭受破坏,莫明其妙的“runtime error”曾经使我夜半恶梦惊醒,汗流浃背。
 
       那么,在使用指针时如何减少错误呢?我个人认为有三个方法:一是小心小心再小心,二是调试调试再调试,还有一种就是学习学习再学习,晕了吧,当然,足够好地设计、编码与测试是可以在一定的程度上避免或减少这些错误的,但不幸的是,程序员只是人而已,人是不可能完美无瑕的,正如上一篇文章所说,选择了一个,就必须放弃另一个。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值