`
jubincn
  • 浏览: 242740 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
文章分类
社区版块
存档分类
最新评论
文章列表
摘选自:《设计模式Java手册》 工厂方法模式的核心思想 一个方法能够创建一个对象,这本身并不意味着该方法是工厂方法模式的一个例子。总而言之,实现了工厂方法模式的特征是: 该方法创建了一个新对象 该方法的返 ...
转自:http://blog.csdn.net/wanbin021614/article/details/1771384 记得以前写过一段这样的代码: String[]arr={"a","b","c"}
网上有很多类似的解决方案,很多是使用 if ((fileName != null) && (fileName.toLowerCase().indexOf("gb2312") != -1)){ fileName = MimeUtility.decodeText(fileName); } 来解决,但对应gbk编码的附件名,这里仍不能正确处理。解决的方法很简单,加入对gbk的判断即可 fileName = bodyPart.getFileName(); //解决中文附件名的问题 if ((fileName != null) && ( ...
Convert NSString to int 1 NSString*aNumberString =@"123"; 2 inti = [aNumberString intValue]; Convert int to NSString 1 intaNumber = 123; 2
转自:http://sun77.blog.163.com/blog/static/97986573201052141212753/ VSTO实战开发-Outlook add-ins开发(5) 下载课程
转自:http://hi.baidu.com/zuccxy/blog/item/037fb71eebf0848186d6b6cd.html 我们在写数据库程序的时候,经常会需要获取某个表中的最大序号数, 一般情况下获取刚插入的数据的id,使用select max(id) from table 是可以的。 但在多线程情况下, ...
转自:《C和指针》中文版,p396 我们现在可以推断出为什么参数要按照列表反序压入到堆栈中。被调用函数使用帧指针加一个偏移量来访问参数。当参数以反序压入到堆栈时,参数列表的第一个参数便位于堆栈中这堆参数的顶部,它距离帧指针的偏移量是一个常数。事实上,任何一个参数距离帧指针的偏移量都是一个常熟,这和堆栈中压入多少个参数并无关系。 如果参数以相反的顺序压入到堆栈会怎样呢(即按照参数列表顺序)?这样一来,第一个参数距离帧指针的偏移量就和压入到堆栈中的参数数量有关。编译器可以计算出这个值,但还是存在一个问题 -- 实际传递的参数数量和函数期望接受的参数数量可能并不相同。在这种情况下, ...
网上很多文章介绍如何在VMWare中安装MacOS,可介绍安装VM Tools时总是喜欢几句话带过,使我失败了很多次才安装成功。 成功方法: 1. 在VMWare中点击edit this virtual machine 2. 添加CD/DVD,使用iso,找到那个darwin.iso 3. 在setting里面,点击CD/DVD里面的advanced,将其设为SCSI 0:12。 其中,第三步比较关键,SCSI的值一定要设在HJMac.iso的后面,比如HJMac.iso设为0:10,这里咱设为0:12就可以了。 4. 开机后,在Finder中就可以找到Darwin.iso,进行安装 ...
参考:《C和指针》 strlen()的方法签名中的返回值类型为size_t,size_t实际上是一个无符号整型。因此,下面的代码就会有问题: if( strlen(x) - strlen(y) >= 0 ) ... ; if( strlen(x) - 10 >= 0) ... ; 这样,if语句永远都会执行,因为无符号数不存在负值。实际上,C中很多string相关函数返回值都是无符号数,在使用时要小心谨慎。
参考:《C和指针》 隐式类型转换 C的整型算术运算总是至少以缺省整型类型的精度来进行的。为了获得这个精度,表达式中的字符型和短整型操作数在使用之前被转换为普通整型,这种转换称为“整型提升”。缺省整型长度一般是计算机最合适的长度,因此精度提升不会降低速度,并且实现起来也很容易。 在下面的例子中,a和b首先转换成整型进行计算,然后将结果截短并赋值给c char a, b, c; c = a + b; 算术转换 如果某个运算符的各个操作数属于不同的类型,那么除非其中一个操作数转换为另一个操作数的类型,否则操作就无法进行。下面的层次体系称为寻常算术转换。 ...
本文是《C和指针》的2.7中的第5题的gcc解 题目:下面这条语句的结果是什么? int x/*comment*/y; 首先,创建一个包含此语句的C文件,如: #include <stdio.h> int main(){ int x/*comment*/y; xy = 0; printf("xy =%d\n", xy); } 其次,使用gcc -E tmp.c来查看预处理后的文件 出来的结果很长,前面有很大一段代码,我们直接看最后那部 ...
简介: 尽管学习和使用C++是件困难的事情,但C++提供了很多优秀的feature,如本文要讨论的const关键字。 因为违反const规则会触发编译时错误。尽管有些人认为使用const关键字是多此一举,但我认为const关键字还是很有用的。 Const的多种用途 和C++中大多数关键字一样,const在不同的语境下也有不同的用途。使用const关键字声明的变量在初始化后就不能再修改了,如下所示: int x = 4; // a normal variable that can be modified x = 10; // legal c ...
最简单常用的vim下:set fileencoding 即可显示当前文件的编码格式 查看文件编码 在Linux中查看文件编码可以通过以下几种方式: 1.在Vim中 可以直接查看文件编码
  CPU:T7700 在使用vmware安装MacOS X时,发现需要打开VT。但我在BIOS中打开之后,检测还是有问题。后来发现在修改这个选项后计算机不能热启动,使用先关机,再开机这种冷启动的方式才能使VT生效。
摘自:《高质量C/C++程序设计》 一个有趣的 现象是,成员对象初始化的次序完全不受它们在初始化表中次序的影响,只由成员对象在类中声明的次序决定。这是因为类的声明是唯一的,而类的构造函数可以有多个,因此会有多个不同次序的初始化表。如果成员对象按照初始化表的次序进行构造,这将导致析构函数无法得到唯一的逆序。[Eckel, p260-261]
Global site tag (gtag.js) - Google Analytics