许久没有坐在电脑前写东西了.除了密密麻麻的英文小虫子,还是英文小虫子.今天不是解决bug,明天就是在创造bug,一句话不在bug中沉默就在bug中爆发.或许喜欢小宇宙爆发的样子吧,那样的感觉总是让人热血沸腾.所以大部分时间总是在爆发中度过.每一次键盘噼里啪啦的响,那预示这一个伟大的,头疼的bug诞生.

c/c++是我喜欢的语言,喜欢他原自我的启蒙老师,一个干瘦的老头.我的启蒙老师告诉我,学习c/c++你可以做你喜欢做的事情.我喜欢做的事情是什么?我的启蒙老师回答:你头顶的光环.我回宿舍拿镜子照了半天也没有找出我头顶上的光环,气馁万千,感觉老师是欺骗了我.后来我们的计算机中毒了,害的我所有的资料都被感染了,心疼万千.发誓,我一定写出更加厉害的病毒,让那些祸害我们菜鸟的人知道什么病毒,可是迄今还未写出一样拿的出手的病毒,到是参与了安全工具的研发.我现在明白了我头顶的上光环是什么,可是我很对不起我的启蒙老师,很对不起他对我的栽培,很对不起他对我的期望,我知道了用c/c++可以做自己喜欢的事情,可是我始终没有让头顶的光环放射出灼人的光.
      学c/c++,最大忌讳就是眼高手低,只看不练.我发现身边好多的同事都是看了好基本优秀的书,可是怎么也没有看出有多大的进步.代码的健壮性依旧是差,可读性还是那么的不友好.书不在多,在于精,看是一方面,写又是另外一方面.大家喜欢上了看却为度少了练习.我面试过好多的同事,都是基本的问题,他们的回答都是摸棱两可,一看就知道,他们看的书肯定不少,他们把知识记混了,不清晰.如果在研发中有这样的情况那有多大的风险.例如:移动通信的后台都是c语言写的,他们的业务处理错综复杂,如果有这样一条语句
char* pt = new char[100]; 处理完业务后delete
pt;大家能看出来问题吗?看不出来是吧,告诉你如果业务处理超过百万条的数据,这个程序就崩溃掉了.因为他造成了内存泄露,内存泄露在了哪里?对就是这句
delete pt,正确写法应该是 delete
[]pt;所以稳固的基础,是研发的一个关键.你的知识丰富,只能说明的你的阅历丰富而已.其他的并不代表什么.
    
大意是大家都犯的错误,这个我不否认,我也犯过.但是我犯的错误和大家不一样,大家写程序无非是变量书写错误,或者忘记了加标点符号,但是我的不同.我的代码能造成堆溢出(非常的严重的错误),或者编译器直接崩溃掉,以上的种种都是大意造成的.是完全可以避免的.所以大家写程序时一定要仔细,认真,我们能自己发现的错误就不要让编译器帮我们找出来.我们感谢编译器.而不是让它来帮助我们纠正我们的错误,不要增加编译器的负担.我是最瞧不起那些,认为编译器很强大,它能帮我们做任何的事情的人.凡有这样想法的人,应该拉出去统统毙掉.
      这样看来c/c++貌似很复杂,其实很简单.大家都说指针复杂,其实是一个误区.关键是心态问题.如果你学够扎实,这些问题都是可以避免的.大家或许问,什么最难?我告诉大家,搭建系统框架最难,搭建系统框架不仅仅是语言方面的问题了,它还设计到了性能,维护,拓展,效益等方方面面.我曾培训6个人的团对写一个安全工具.我搭建了一个软件框架.数据+业务+控制管理+页面,四个层次的软件结构.这样做的目的不仅做到高内聚低偶合,还符合构件编程的思想.可是大家实施起来确实困难万千.原因是框架结构他们始终不理解.我解释了数次,最终写了一个demo出来,他们才理解.这时不在是你知识丰富不丰富的问题了.而是一个你能否独揽这个体系大局的问题.后来又爆漏出,不懂windows
API这个问题来,哎.....总之很是乱.归根揭底.就是知识不稳固,态度不认真.
      眼下又要带队去南京做手机通信去了,不知道这个队伍又会怎样呢.希望做好吧!

c/c++ 感悟 2008-10-03 02:08的更多相关文章

  1. Groovy轻松入门——通过与Java的比较,迅速掌握Groovy (更新于2008.10.18)

    摘自: http://www.blogjava.net/BlueSUN/archive/2007/03/10/103014.html Groovy轻松入门--通过与Java的比较,迅速掌握Groovy ...

  2. phoenix连接hbase数据库,创建二级索引报错:Error: org.apache.phoenix.exception.PhoenixIOException: Failed after attempts=36, exceptions: Tue Mar 06 10:32:02 CST 2018, null, java.net.SocketTimeoutException: callTimeou

    v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...

  3. CISCO运维记录之4507设备升级IOS(Version 03.03.02.SG版本存在bug)

    CISCO运维记录之3650堆叠设备升级IOS(Version 03.03.02.SG版本存在bug) 1. 问题详情 思科45系列交换机使用Catalyst 4500 L3 Switch Softw ...

  4. OpenWrt for vmware 从openwrt.org下载10.03.1 或是自己下载最新的源码进行编译生成x86 vmdk格式

    1,直接从OpenWrt.org官网下载 http://downloads.openwrt.org/backfire/10.03.1/x86_generic/ 更新OpenWrt在线软件源 opkg ...

  5. datetime 2017-10-21 10:09:02.560 转年月日的时间类型

    sql语句时间转年月日格式: 适用于多种时间格式 select  REPLACE(STUFF(CONVERT(char(10), REPLACE(CONVERT(varchar(10),'2017-1 ...

  6. 本周ASP.NET英文技术文章推荐[02/03 - 02/16]:MVC、Visual Studio 2008、安全性、性能、LINQ to JavaScript、jQuery...

    摘要 继续坚持,继续推荐.本期共有9篇文章: 最新的ASP.NET MVC框架开发计划 Visual Studio 2008 Web开发相关的Hotfix发布 ASP.NET安全性教程系列 ASP.N ...

  7. ROS连接ABB机械臂调试详细教程-ROS(indigo)和ABB RobotStudio 6.03.02-

    在ROS industrial介绍中,给出了ROS和常用机械臂的连接方式.具体信息可以参考:http://wiki.ros.org/Industrial ROS连接ABB机械臂调试详细教程-ROS(i ...

  8. 2019.03.02 ZJOI2019模拟赛 解题报告

    得分: \(10+0+40=50\)(\(T1\),\(T3\)只能写大暴力,\(T2\)压根不会) \(T1\):道路建造 应该是一道比较经典的容斥题,可惜比赛时没有看出来. 由于要求最后删一条边或 ...

  9. 2018.10.03 NOIP+ 模拟赛 解题报告

    得分: \(30+5+0=35\)(考得真不咋滴) \(T1\):奥义商店(点此看题面) 以为很简单,对着这题想了一个多小时,最后果断打了个暴力交了... ... 看完题解发现其实也不是很难. 对于\ ...

随机推荐

  1. 题解 洛谷 P3185 【[HNOI2007]分裂游戏】

    首先可以发现,当所有巧克力豆在最后一个瓶子中时,就无法再操作了,此时为必败状态. 注意到,对于每个瓶子里的巧克力豆,是可以在模\(2\)的意义下去考虑的,因为后手可以模仿先手的操作,所以就将巧克力豆个 ...

  2. java大数据最全课程学习笔记(6)--MapReduce精通(二)--MapReduce框架原理

    目前CSDN,博客园,简书同步发表中,更多精彩欢迎访问我的gitee pages 目录 MapReduce精通(二) MapReduce框架原理 MapReduce工作流程 InputFormat数据 ...

  3. liunx安装和部署nacos配置中心

    1.下载https://github.com/alibaba/nacos/releases  nacos-server-1.3.1.tar.gz  源码包2.上传到liunx服务器   /usr/lo ...

  4. 给Django Admin添加验证码和多次登录尝试限制

    Django自带的Admin很好用,但是放到生产环境总还差了点什么= = 看看admin的介绍: Django奉行Python的内置电池哲学.它自带了一系列在Web开发中用于解决常见问题或需求的额外的 ...

  5. 手写IOC容器

    IOC(控制翻转)是程序设计的一种思想,其本质就是上端对象不能直接依赖于下端对象,要是依赖的话就要通过抽象来依赖.这是什么意思呢?意思就是上端对象如BLL层中,需要调用下端对象的DAL层时不能直接调用 ...

  6. Druid 连接池

    记录Druid 连接池简单用法 package Utils; import com.alibaba.druid.pool.DruidDataSourceFactory; import javax.sq ...

  7. 一切皆组件的Flutter,安能辨我是雄雌

    从一开始接触Flutter,相信读者都会铭记一句话,那就是--一切皆组件.今天我们就来体会一下这句话的神奇魔力,我们先从实际的产品需求说起. 我们先来看一个简化的运行图: 我们要实现如上图所示的日期选 ...

  8. SQL数据库优化总结

    1.在表中建立索引优先考虑 where.group by使用到的数据. 2.查询的sql语句中不要使用select * ,因为会返回许多无用的字段降低查询的效率,应该使用具体的字段代替*,只返回使用到 ...

  9. Skill 中的通用输出格式规范

    https://www.cnblogs.com/yeungchie/ Skill中的通用输出格式规范 Common Output Format Specifications Format Specif ...

  10. luogu P2605 [ZJOI2010]基站选址 线段树优化dp

    LINK:基站选址 md气死我了l达成1结果一直调 显然一个点只建立一个基站 然后可以从左到右进行dp. \(f_{i,j}\)表示强制在i处建立第j个基站的最小值. 暴力枚举转移 复杂度\(n\cd ...