一点思考
btwsmile
不积跬步无以至千里
展开
-
C++为什么难学
很多人第一次应聘C++程序员岗位的时候,会在自己的简历上写下“本人精通C++”,这往往将带来两个结果:一是在技术面的时候就被多个HR轮番鄙视;二是侥幸进入公司,却因此成为同事们几个礼拜的笑料。总之被笑话在所难免!也许有些夸张,不过 C++难学却是众所周知的事实,切不可随随便便用到“精通”这个字眼,这样只会显得自己无知。在博大精深的C++面前,我们那么渺小,没有一丁点儿值得骄傲的资本。我学C++原创 2011-09-20 22:04:12 · 5453 阅读 · 2 评论 -
控件与组件的区别
在学习编程语言的过程中,往往会在参考材料的字里行间看到“组件”和“控件”这两个概念。它们之间到底有何区别?组件(Component)比控件(Control)涵盖的范围要广,控件是组件的一种。什么是组件?可以把它理解成一个可以反反复复使用的模块。就是说只要一个模块能够重用,它就可以称当上一个组件,而不用在乎这个模块有没有“外型”。控件不仅是可以“重用”的模块,而且还有“外型”。平常看到的原创 2011-08-03 22:10:05 · 10807 阅读 · 1 评论 -
计算机到底是什么
从听说计算机,到接触计算机,再到将计算机作为自己的专业,我一直在寻找一个问题的答案:计算机到底是什么?从感观上讲,计算机是神秘的,它能做到很多振奋人心的事情。深蓝计算机早在60年代就战胜了卡斯帕罗夫,一定程度上挑战了人类的智慧。之后又有终结者、骇客帝国一类的影视作品,让人感受了计算机无所不能的一面。虽然电影里的情节都是虚构的,但不可否认的是计算机已经被赋予生命,它在很多地方比人类还要聪明。原创 2011-10-26 16:45:55 · 1406 阅读 · 1 评论 -
可持续发展的程序设计
为什么很多程序被用户用了一次就扔掉?一方面在中国,软件基本上是不花钱的;另一个方面,用户往往只有单次的功能需求。不过,本文并非讨论如何避免这种事情发生,而是要站在程序员的角度去考虑另外一个类似的问题:很多我们曾经写过的代码被自己用了一次就扔掉。 代码“即用即抛”的习惯使我们开始一个新的项目就意味着白手起家,重头再来。实际上我们是希望自己的代码高度可重用的。写过的代码如果都能在此后的原创 2011-09-17 13:18:49 · 2729 阅读 · 0 评论 -
C++文件流ios::binary的作用
在创建文件流时,可以显示指定它的打开方式为ios::binary,也就是以二进制方式打开。但是,无论是否指定二进制方式打开文件,读写的最小单位都是字节。那么,它到底起到什么作用呢?以二进制方式打开与普通打开方式的区别是什么?实际上,二者最大的区别在于对换行符的处理方式不同。由于历史原因,Windows操作系统是用两个字符(\r\n)来表示换行符的;而Unix操作系统却是用单个字符(\n)来表示原创 2013-09-23 12:08:26 · 13943 阅读 · 1 评论 -
一道百度校招笔试题
要求是编码实现htons方法,将整数转换成适合传输的网络字节序。这道题要考虑几个要点:1. htons的签名式是怎样的?2. 如何用C语言实现?第一个问题考察你对socket编程是否了解,因为htons是Win socket库函数,专门用来转换字节序。实际上,htons是常用的转换函数之一,其它还有htonl、ntohs、ntohl等。函数名中h即host,n即network,s即原创 2013-10-15 19:50:14 · 1414 阅读 · 0 评论 -
一道微策略校招笔试题
MicroStrategy的题目出得真心有水平,下面是其中一道。判断一棵二叉树是否为二叉搜索树(binary search tree),二叉搜索树满足下列条件:1. 根节点的值(key)比它的左子树所有节点的值都要大,比它的右子树所有节点的值都要小;2. 左子树和右子树也都是二叉搜索树;3. 不存在重复节点。显然二叉搜索树的中序遍历结果正好是递增序列。假设中序遍历前一个节点的值原创 2013-10-16 21:19:27 · 1780 阅读 · 0 评论