代码改变世界

随笔档案-2010年10月

对待拷贝构造函数和赋值函数的3种境界

2010-10-29 11:53 by zhenjing, 2709 阅读, 收藏, 编辑
摘要: 对待拷贝构造函数和赋值函数有3种境界:不写;禁用;正确编写。具体细节详见正文,文中另外给出一些有关拷贝构造函数的语法细节,笔试有用吧,平时用不到。 阅读全文

Linux Debug tools

2010-10-27 11:47 by zhenjing, 3372 阅读, 收藏, 编辑
摘要: 虽然搞了Unix/Linux的分类,却一直没有发表相关的随笔。这算第一篇吧。经验有限,欢迎补充! 阅读全文

25则“验尸报告”— 创业失败者启示录(下)

2010-10-26 00:26 by zhenjing, 1621 阅读, 收藏, 编辑
摘要: 前几天看到这篇文章的(上)部分的翻译,觉得非常不错。可惜,怎么找也未能找到(下)。只好自己读英文版,读完后顺便写了自己的总结。分享下,英文可以的话,建议读原文。 阅读全文

C++析构函数不能失败的4个理由

2010-10-25 09:45 by zhenjing, 3000 阅读, 收藏, 编辑
摘要: C++的析构函数不能失败,即抛出异常(析构函数没有返回值)。但为什么不能失败呢?理由又是什么呢?假如面试被问到这个问题,您能说出几个理由呢? 阅读全文

[C++再学习系列] 类常量

2010-10-22 09:35 by zhenjing, 498 阅读, 收藏, 编辑
摘要: C++标准允许在类的定义中定义静态整数常量,但其他类型的类常量则需要单独的定义或将常量封装在函数中。此外,enum也常用于定于类常量。对于单独的类常量,static声明是必须的,这样才能保证所有的类常量公用一个地址空间。 阅读全文

[C++再学习系列] 跨编译单元的对象初始化

2010-10-21 22:06 by zhenjing, 926 阅读, 收藏, 编辑
摘要: C++对跨编译单元的名字空间级对象初始化顺序并未做定义。不仅如此,在调用对象自身的构造函数之前,编译器已经对名字空间级对象做了”零初始化”,即将内存值全部置零(不同于未初始化)。因此,绝对不能假定名字空间级对象的初始化顺序,更不能让名字空间级对象的初始化过程互相依赖。 阅读全文

揭秘:C++编译器的函数编译流程

2010-10-20 09:35 by zhenjing, 5127 阅读, 收藏, 编辑
摘要: 介绍C++编译器在解析函数调用所涉及的三大步骤(流程):a)名字查找;b)重载决议;c)可访问性检查。了解编译器的工作流程有助于解释很多编译器的编译错误,并防止写出无法通过编译的代码。如能真正理解这些规则,很多C++编译错误就很容易解释了。 阅读全文

常见算法笔试或面试题

2010-10-18 10:12 by zhenjing, 48858 阅读, 收藏, 编辑
摘要: 3年前,找完工作后,总结的算法笔试面试题,首次公开。共25道题,有些题曾在面试中多次被问过,算是经典题目。 阅读全文

Job攻略总则(IT类)

2010-10-17 21:44 by zhenjing, 1415 阅读, 收藏, 编辑
摘要: 找一份IT类的工作,相对容易,但是找一份满意的,就不是那么容易。IT类的公司非常多,招聘的标准各异,虽都有笔试面试,但考核的内容差异比较大。这里仅仅是做一个大体的概述,希望具有一定的意义。(这是3年前找完工作后做的总结,发得有点晚,希望对现在找工作的人还有点帮助。) 阅读全文

轻松面试找到理想员工-非官方的面试技术指南

2010-10-17 21:25 by zhenjing, 959 阅读, 收藏, 编辑
摘要: Joel Spolsky写的。以面试官的角度,谈他的个人面试指南。对于应聘者很有参考价值,你会知道面试官是怎么思考的,想找什么样的人。 阅读全文

[C++再学习系列] 全局或静态变量(对象)的初始化

2010-10-15 13:11 by zhenjing, 4904 阅读, 收藏, 编辑
摘要: 对于C语言的全局和静态变量,不管是否被初始化,其内存空间都是全局的;如果初始化,那么初始化发生在任何代码执行之前,属于编译期初始化。由于内置变量无须资源释放操作,仅需要回收内存空间,因此程序结束后全局内存空间被一起回收,不存在变量依赖问题,没有任何代码会再被执行! C++引入了对象,这给全局变量的管理带领新的麻烦。C++的对象必须有构造函数生成,并最终执行析构操作。由于构造和析构并非分配内存那么简单,可以相当复杂,因此何时执行全局或静态对象(C++)的构造和析构呢?这需要执行相关代码,无法在编译期完成,因此C++标准规定:全局或静态对象当且仅当对象首次用到时才进行构造,并通过atexit()来管理对象的生命期,在程序结束之后(如调用exit,main),按FILO顺序调用相应的析构操作! 阅读全文

分享一个很好玩的购物网站:立即购

2010-10-14 23:51 by zhenjing, 848 阅读, 收藏, 编辑
摘要: 一个很好玩的购物网站:立即购(http://www.lijigou.com),最好玩的会员服务:立即拍。极力建议去尝试尝试,反正又不会吃亏。 阅读全文

[C++再学习系列] 具有链接的C++实体

2010-10-14 17:32 by zhenjing, 539 阅读, 收藏, 编辑
摘要: 具有链接的实体,包括名字空间级的变量和函数,都是需要分配内存的。具有链接的实体如果在源文件(cpp)中出现多次,将意味着多次分配内存,每个内存空间定义一个特定的实体。这会导致:1) 空间膨胀;2) 出现多个变量,变量的状态不共享。 个人理解:何为具有链接的实体呢?通常而言,变量和函数的定义即是。 阅读全文

[C++再学习系列] 变量的声明、定义与extern关键字

2010-10-12 13:14 by zhenjing, 1223 阅读, 收藏, 编辑
摘要: A definition of a variable allocates storage for the variable and may also specify an initial value for the variable. There must be one and only one definition of a variable in a program. A declaration makes known the type and name of the variable to the program. A definition is also a declaration: When we define a variable, we declare its name and type. We can declare a name without defining it by using the extern keyword. A declaration that is not also a definition consists of the object's 阅读全文

[C++再学习系列] 变量与声明时初始化

2010-10-12 11:24 by zhenjing, 1456 阅读, 收藏, 编辑
摘要: 未初始化的变量常常会导致一些奇怪的bug,有时还真不好调式。养成在初始化变量的习惯有利于减少编程错误,提高程序质量。 C++提供了构造和析构函数,其中构造函数就是为初始化而设计的;对于内置变量(char,int,long等)的初始化C++无能为力,其默认行为是未初始化,故其值依赖于变量类型(是否为static)和编译器。 本文中将讨论两类基本变量:标量和数组,标量指单一变量,数组本质上就是一整块内存空间(别忘了memset)。其他数据结构均基于这两类基本变量,一般由库提供,比如著名的C++ STL容器。 阅读全文

程序员进阶书籍(0603更新)

2010-10-10 21:28 by zhenjing, 6263 阅读, 收藏, 编辑
摘要: 书是不可不读的,技术类的书在精不在多。 前不久看到10本必读书籍,深有同感,这里推荐的是自己读过的技术类书籍。 经典的技术图书来源可参考:历届JOLT大奖获奖书籍 阅读全文
点击右上角即可分享
微信分享提示