- 博客(25)
- 资源 (4)
- 收藏
- 关注
原创 你不是软件工程师!
你不是软件工程师。你不是在建摩天大楼。你不是在建公路桥梁。 你是在从事园艺,培育花草。 你是一个软件园丁。 你是否会在种下第一粒种子前就规划你的花园,细节精确到定位每个叶子应该长在哪里?人们是否会期望能精确的估算出这一年会开出多少花朵(或你的公司 是否做出这样的承诺?)?你的奖金会跟此挂钩吗?这些事情对于规划一个摩天大楼来说完全合情合理的,可是当你在园艺这样的事情上谈论这些时,就显的有点荒 谬了。 你有可能会对未来一周你的花园会变成什么样有个很好的设想。你甚至可能会对一年后你的花园会变成什么样子有个
2011-05-21 02:38:00
460
转载 C++虚函数表解析(比较精辟)
<br /> <br />C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。<br />关于虚函数的使用方法,我在这里不做过多的阐述。大家可以看看相关的C++的书籍。在这篇文章中,我只想从虚函数的实现机制上
2010-11-10 02:21:00
463
转载 C++ 类型转换
<br /><br />在C++中,进行算术运算前通常需要对操作数进行类型转换,特别是对两个类型不同的操作数,往往要把它们转换成相同类型。算术运算的结果类型与转换后的操作数类型相同。<br /> C++的类型转化方式有两种:隐式转换和显式转换。隐式转换由编译程序按照某种预定的规则进行自动转换;显式转换由写程序的人在程序中用类型转换操作符明确地指出转换。<br /> 当操作数的类型为算术类型或者枚举类型时,在进行算术运算前,编译程序将按照常规算术转换规则(usual arithmeti
2010-11-08 21:22:00
624
转载 Tire Tree
<br /><br /> 本文讨论一棵最简单的trie树,基于英文26个字母组成的字符串,讨论插入字符串、判断前缀是否存在、查找字符串等基本操作;至于trie树的删除单个节点实在是少见,故在此不做详解。<br />l Trie原理<br />Trie的核心思想是空间换时间。利用字符串的公共前缀来降低查询时间的开销以达到提高效率的目的。<br /> <br />l Trie性质<br />好多人说trie的根节点不包含任何字符信息,我所习惯的trie根节点却是包含信息的,而且认为这
2010-11-07 21:09:00
1210
转载 对“仅通过崩溃地址找出源代码的出错行”一文的补充与改进 /原文
<br />读了老罗的“仅通过崩溃地址找出源代码的出错行”(下称"罗文")一文后,感觉该文还是可以学到不少东西的。不过文中尚存在有些说法不妥,以及有些操作太繁琐的地方 。为此,本人在学习了此文后,在多次实验实践基础上,把该文中的一些内容进行补充与改进,希望对大家调试程序,尤其是release版本的程序有帮助 。欢迎各位朋友批评指正。<br /><br /><br />一、该方法适用的范围<br /> 在windows程序中造成程序崩溃的原因很多,而文中所述的方法仅适用与:由一条语句当即引起的程序崩溃。如原
2010-11-05 13:36:00
454
转载 对“仅通过崩溃地址找出源代码的出错行”一文的补充与改进 /原文
<br />读了老罗的“仅通过崩溃地址找出源代码的出错行”(下称"罗文")一文后,感觉该文还是可以学到不少东西的。不过文中尚存在有些说法不妥,以及有些操作太繁琐的地方 。为此,本人在学习了此文后,在多次实验实践基础上,把该文中的一些内容进行补充与改进,希望对大家调试程序,尤其是release版本的程序有帮助 。欢迎各位朋友批评指正。<br /><br /><br />一、该方法适用的范围<br /> 在windows程序中造成程序崩溃的原因很多,而文中所述的方法仅适用与:由一条语句当即引起的程序崩溃。如原
2010-11-05 13:36:00
1306
转载 UDL文件使用介绍
<br />使用通用数据连接文件(*.UDL,以下简称文件)来创建ADO连接,可以和ODBC一样可视化地定义要连接的数据源,从而实现数据访问的透明性。 <br />1.使用UDL文件来创建ADO连接 <br />创建ADO的连接,首先要设置ADO连接对象的ConnectionString属性,该属性提供所要连接的数据库类型、数据所处服务器、要访问的数据库和数据库访问的安全认证信息。比较专业的方法是在ConnectionString中直接提供以上信息,下面是访问不同类型数据源设置ConnectionS
2010-10-13 18:27:00
8982
转载 局部变量、全局变量、堆、堆栈、静态和全局
<br />一般全局变量存放在数据区,局部变量存放在栈区, <br />动态变量存放在堆区,函数代码放在代码区。 <br />--------------------------------------------------------------- <br />栈区是普通的栈数据结构,遵循LIFO后进先出的规则,局部变量安排在那里是ASM时就规定的,这样可以在一个函数结束后平衡堆栈,操作简单,效率高 <br />堆(动态区)在这里应当叫堆栈(不要和数据结构中的堆搞混)是程序在编译时产生的一块用于产生动态
2010-10-10 14:18:00
543
原创 淘宝笔试题
1、C++性能瓶颈问题,怎样解决?缺页导致的外部存储调用,引起IO消耗瓶颈。动态内存申请和释放。在C/C++中,从堆中申请和释放内存是一个复杂的过程,因此要尽可能优先考虑从栈中获得内存。复杂对象的创建和销毁。对象的调用往往涉及到深层次的递归调用,从而隐形的引起临时对象。函数调用。函数调用有固定的开销,当函数调用引起的开销大于函数自身处理的开销时,需要考虑内联函数。详细的内容参考http://blog.youkuaiyun.com/age2cn/archive/2010/07/21/5752431.aspx2、存取效率问
2010-10-10 13:42:00
951
转载 MFC中ASSERT()和VERIFY()区别
<br /><br />1 ASSERT与VERIFY宏在Debug模式下作用基本一致,二者都对表达式的值进行计算,如果值为非0,则什么事也不做;如果值为0,则输出诊断信息。 <br />2 ASSERT与VERIFY宏在Release模式下效果完全不一样。ASSERT不计算表达式的值,也不会输出诊断信息;VERIFY计算表达式的值,但不管值为0还是非0都不会输出诊断信息。<br /> <br />断言(assertion)用带断言信息(程序, 模块, assertion行)的对话框执行. 对话框
2010-10-09 17:38:00
7879
转载 C++资源之不完全引导
前言 无数次听到“我要开始学习C++!”的呐喊,无数次听到“C ++太复杂了,我真的学不会”的无奈。Stan Lippman先生曾在《C++ Primer》一书中指出“C++是最为难学的高级程序设计语言之一”,人们常将“之一”去掉以表达自己对C++的敬畏。诚然,C++程序设计语言对于学 习者的确有很多难以逾越的鸿沟,体系结构的庞大,应接不暇并不断扩充的特性……除此之外,参考资料之多与冗
2010-04-10 13:27:00
731
转载 位运算口诀和应用
位运算应用口诀 清零取反要用与,某位置一可用或 若要取反和交换,轻轻松松用异或 移位运算 要点: 1 它们都是双目运算符,两个运算分量都是整形,结果也是整形。 2 " 3 ">>"右移:右边的位被挤掉。对于左边移出的空位,如果是正数则空位补0,若为负数,可能补0或补1,这取决于所用的计算机系统。 4 ">>>"运算符,右边的位被挤掉,对于左边移出的空位一概补上0。
2010-02-28 02:13:00
374
转载 Linux软件安装与卸载命令
./configure 检查系统信息 ./configure --help | more 帮助信息 make clean 清除之前留下的文件 make 编译 make install 安装 rpm -q -----> 查询是否安装
2010-02-28 02:09:00
438
转载 Linux开机流程
1、加载 BIOS 的硬件信息,并取得第一个开机装置的代号; 2、读取第一个开机装置的 MBR 的 boot Loader (亦即是 lilo, grub, spfdisk 等等) 的开机信息; 3、加载 Kernel 操作系统核心信息, Kernel 开始解压缩,并且尝试驱动所有硬件装置; 4、Kernel 执行
2010-02-28 02:07:00
355
转载 Shell和正则表达式的介绍
认识SHELL alias 显示当前所有的命令别名 alias lm= "ls -al " 命令别名 unalias lm 取消命令别名 type 类似which exprot 设置或显示环境变量 exprot PATH= "$PATH ":/sbin 添加/
2010-02-28 01:59:00
497
转载 Linux命令集锦
uname -a 查看内核版本 ls -al 显示所有文件的属性 pwd 显示当前路径 cd - 返回上一次目录 cd ~ 返回主目录 date s 设置时间、日期
2010-02-28 01:45:00
402
转载 Linux目录架构
/ 根目录 /bin 常用的命令 binary file 的目录 /boot 存放系统启动时必须读取的档案,包括核心 (kernel) 在内 /boot/grub/menu.lst GRUB设置 /boot/vmlinuz 内核 /boot/initrd
2010-02-28 01:42:00
377
转载 流类库与输入输出 (二)
(三)输出文件流成员函数 输出流成员函数有三种类型: &S226;与操纵符等价的成员函数。 &S226;执行非格式化写操作的成员函数。 &S226;其他修改流状态且不同于操纵符或插入运算符的成员函数。 对于顺序的格式化输出,可以仅使用插入运算符和操纵符。对于随机访问二进制磁盘输出,使用其他成员函数,使用或不使用插入运算符。 1.输出流的ope
2010-02-28 00:22:00
1500
转载 流类库与输入输出 (一)
就像C语言一样,C++语言中也没有输入/输出语句。但C++编译系统带有一个面向对象的输入/输出软件包,它就是I/O流类库。流是I/O流类的中心概念。首先介绍流的概念,然后介绍流类库的结构和使用。对于流类库中类的详细说明及类成员的描述,请读者查阅所使用的编译系统的运行库参考手册。 一、I/O流的概念 使用VC++6.0在程序中实现I/O有几种方法: C运行库直接非缓冲的I/O
2010-02-28 00:19:00
1462
转载 typedef小结
第一、四个用途用途一:定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如:char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针, // 和一个字符变量;以下则可行:typedef char* PCHAR; // 一般用大写PCHAR pa, pb; // 可行,同时声明了两个指向字符变量的指针虽然:char *pa, *p
2010-02-27 22:58:00
338
转载 掌握cosnt和mutable
CONST 一.一般应用1.const修饰各种变量的用法. a.取代define #define D_INT 100 #define D_LONG 100.29 ……… const int D_INT = 100; const D_INT = 100; //如果定义的int类型,可省略int. const long D_LONG = 10
2010-02-27 22:48:00
431
转载 关键子static
static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。面向过程设计中的static全局变量、局部变量、静态全局变量、静态局部变量的区别C++变量根据定义的位置的不同的生命周期,具有不同的作用域,作用域可分为6种:全局作用域,局部作用域,语句作用域,类作用域,命名空间作用域和文件作用域。从
2010-02-27 22:47:00
418
原创 一些关于MathType的快捷键的使用
快捷键用途快捷键用途快捷键用途Ctrl+R二次根号模板Ctrl+T,P连乘模板Ctrl+K,I无穷大符号Ctrl+I积分模板Ctrl+T,S连加模板Ctrl+K,小于等于号Ctrl+[中扩号Ctrl+T,M矩阵模板Ctrl+K,>大于等于号Ctrl+{
2010-02-27 21:59:00
3737
转载 Bit Twiddling Hacks
Bit Twiddling Hacks By Sean Eron Andersonseander@cs.stanford.edu Individually, the code snippets here are in the public domain (unless otherwise noted) — feel free to use them however you please.
2009-10-10 16:10:00
377
c++ asm混合编程示例
2010-02-27
常用Windows批处理命令
2009-12-27
vb实现个人防火墙,支持TCP与UDP监控
2009-02-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人