c/c++ 感悟 2008-10-03 02:08
许久没有坐在电脑前写东西了.除了密密麻麻的英文小虫子,还是英文小虫子.今天不是解决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的更多相关文章
- Groovy轻松入门——通过与Java的比较,迅速掌握Groovy (更新于2008.10.18)
摘自: http://www.blogjava.net/BlueSUN/archive/2007/03/10/103014.html Groovy轻松入门--通过与Java的比较,迅速掌握Groovy ...
- 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 ...
- 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 ...
- 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 ...
- datetime 2017-10-21 10:09:02.560 转年月日的时间类型
sql语句时间转年月日格式: 适用于多种时间格式 select REPLACE(STUFF(CONVERT(char(10), REPLACE(CONVERT(varchar(10),'2017-1 ...
- 本周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 ...
- ROS连接ABB机械臂调试详细教程-ROS(indigo)和ABB RobotStudio 6.03.02-
在ROS industrial介绍中,给出了ROS和常用机械臂的连接方式.具体信息可以参考:http://wiki.ros.org/Industrial ROS连接ABB机械臂调试详细教程-ROS(i ...
- 2019.03.02 ZJOI2019模拟赛 解题报告
得分: \(10+0+40=50\)(\(T1\),\(T3\)只能写大暴力,\(T2\)压根不会) \(T1\):道路建造 应该是一道比较经典的容斥题,可惜比赛时没有看出来. 由于要求最后删一条边或 ...
- 2018.10.03 NOIP+ 模拟赛 解题报告
得分: \(30+5+0=35\)(考得真不咋滴) \(T1\):奥义商店(点此看题面) 以为很简单,对着这题想了一个多小时,最后果断打了个暴力交了... ... 看完题解发现其实也不是很难. 对于\ ...
随机推荐
- PyQt5布局管理器
布局分类 绝对定位:使用move方法将空间直接定死在某个坐标,不会随着窗口大小的改变而改变 可变布局:使用各种布局管理器,实现组件的位置和大小随着窗口的变化而变化 布局管理器 QHBoxLayout: ...
- 计算滚动条的宽度--js
原理 创建两个div嵌套在一起 外层的div设置固定宽度和overflow:scroll 滚动条的宽度=外层div的offsetWidth-内层div的offsetWidth 实现代码 /** * 获 ...
- webview访问URL
// // Do any additional setup after loading the view. // //创建WKWebView // WKWebView *web = ...
- 疯狂Python讲义PDF高清完整版免费下载|百度网盘
百度网盘:疯狂Python讲义PDF高清完整版免费下载 提取码:uzba 内容简介 <疯狂Python讲义>既是一本适合初学者入门Python的图书(一个8岁的小朋友在未出版前已学习了本书 ...
- fiddler替换修改后的js文件绕过无限debugger
转自:https://www.jianshu.com/p/38c4afae636c 1.在js文件右击, 然后点击save as ..., 把js文件保存到本地.(网站:https://taodaxi ...
- vue -电子时钟
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- LIMS/QMS产品索引
Starlims https://www.cnblogs.com/mahongbiao/p/12863304.html 客户申请门户/客户服务门户 https://www.cnblogs.com/ma ...
- luogu P1446 [HNOI2008]Cards burnside引理 置换 不动点
LINK:Cards 不太会burnside引理 而这道题则是一个应用. 首先 一个非常舒服的地方是这道题给出了m个本质不同的置换 然后带上单位置换就是m+1个置换. burnside引理: 其中D( ...
- 5.20 省选模拟赛 T1 图 启发式合并 线段树合并 染色计数问题
LINK:图 在说这道题之前吐槽一下今天的日子 520 = 1+1+4+514. /cy 这道题今天做的非常失败 一点分都没拿到手 关键是今天的T3 把我整个人给搞崩了. 先考虑 如果得到了这么一张图 ...
- 银弹谷零代码开发V百科|使用技巧:OMG!这些时间日期函数太好用了吧,盘它
银弹谷零代码开发V百科|使用技巧:OMG!这些时间日期函数太好用了吧,盘它 Hello~everybody!小V又来咯!这次小V给大家带来的是零代码开发V平台常用的时间日期函数.小V知道我们平时常常会 ...