许久没有坐在电脑前写东西了.除了密密麻麻的英文小虫子,还是英文小虫子.今天不是解决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. Maven原理学习

    文章目录 一.Maven概述 二.maven依赖管理 三.maven文件结构 四.maven仓库的种类以及彼此联系 五.maven标准目录结构 六.mvn命令 七.maven生命周期 八.maven的 ...

  2. PyQt5绘图

    QPainter 功能:QPainter实现在QWidget上画图功能 说明:绘图必须在paintEvent中完成,且要在bengin和end之间作图 接口: 方法 描述 begin 开始画图 end ...

  3. [日常摘要] -- zookeeper篇

    概览 设计目标 是将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集,并以一系列简单易用的接口提供给用户使用 简介 是一个典型的分布式数据一致性解决方案,分布式应用程序可以基于Z ...

  4. [jvm] -- 引用篇

    四种引用及其应用场景 强引用 强引用是平常中使用最多的引用,强引用在程序内存不足(OOM)的时候也不会被回收. 使用场景:啥时候都在使用 软引用 软引用在程序内存不足时,会被回收. 使用场景:创建缓存 ...

  5. 深入理解golang:sync.map

    疑惑开篇 有了map为什么还要搞个sync.map 呢?它们之间有什么区别? 答:重要的一点是,map并发不是安全的. 在Go 1.6之前, 内置的map类型是部分goroutine安全的,并发的读没 ...

  6. 我在 GitHub 上发现了一款骚气满满的字体!

    本文转自量子位,作者栗体,如有侵权,则可删除. github字体 这个字体叫 Leon Sans,表面看去平平无奇. 但事实上,它并不是普通的字体,体内蕴藏着魔力. github字体1 Leon Sa ...

  7. 第四章 常用API(上)

    4.1.Object类 描述:该类是所有类的最终根类 方法 描述 public boolean equals(Object obj) 表示某个其它对象是否"等于"此对象 publi ...

  8. JavaScript Symbol对象

    JavaScript Symbol对象 Symbol Symbol对象是es6中新引进的一种数据类型,它的作用非常简单,就是用于防止属性名冲突而产生. Symbol的最大特点就是值是具有唯一性,这代表 ...

  9. 破解东航的seriesid

    在查询东航航班的时候,请求数据中有个seriesid 调试js分析代码的过程就略过了,下面是整合的生成seriesid 的js代码 <script> function get_n(e, t ...

  10. 4.26 省选模拟赛 T3 状压dp 差分求答案

    LINK:T3 比较好的题目 考试的时候被毒瘤的T2给搞的心态爆炸 这道题连正解的思路都没有想到. 一看到题求删除点的最少个 可以使得不连通. 瞬间想到最小割 发现对于10分直接跑最小割即可. 不过想 ...