- 博客(9)
- 资源 (2)
- 收藏
- 关注
原创 Thinking in java:对比C++和java
<br /><br />附录B 对比C++和java<br />1.java比C慢约20倍。<br />2.所有东西都必须置入一个类中,要用全局函数,可将static方法和数据成员置入一个类。<br />3.类定义结尾没有分号。没有类声明,只有类定义。<br />4.主类型(primitive type)boolean、char...<br />条件表达式必须是boolean,char是16位Unicode字符,静态字符串会自动转换成String对象。<br />5.>>>代表逻辑右移,插0,>>代表算术移
2011-03-04 12:01:00
617
原创 The C programming language
<br /><br />标准c中无//双斜线注释变量定义必须在函数开头。<br />double型变量可以++;<br />Case后必须跟常量整数,将进行整提升<br />函数缺省返回类型为int <br />(C++不允许缺省,VCmain可以返回void,GCC不可以)<br />寄存器变量 register int x<br />外部与静态变量必须用常量初始化 局部变量数组可以用其它变量甚至函数初始化<br /> (C++中都可以用其它变量或函数初始化)<br />函数返回类
2011-03-04 10:47:00
695
原创 类
<br /><br />1.结构体也可以继承,可以有虚函数、构造、析构,与class唯一区别是默认public<br />定义结构体变量时struct关键字可省略(类也一样)<br /> <br />2.编译器为空类产生4个成员函数 默认构造函数,析构函数,拷贝构造函数,赋值函数<br /> 注意拷贝构造是构造 String c = a; <br /> c = a;是赋值 <br />即使只定义了有参构造,编译器也不会再产生默认的无参构造<br /
2011-03-04 00:00:00
524
原创 类型转换、变量初始化 等等
1.标准c++中宽字符wchar_t字符常量前加L(一定要大写)(long型常量加后面,不区分大小写)2. long double 10位有效数字(VC为8字节,会映射成double,GCC为12字节)3.整形提升:所有小于整形的数在算术表达式计算之前都转换成整形,可用int用int,否则用unsigned intchar a,b; sizeof(a+b)为4 c=a+b在整形提升后运算,赋值时截取低8位char a = 100,b = a*2;将a提升为整形,得200,截取低8位给b 为-
2011-03-03 19:57:00
646
原创 指针
<br /><br />指针<br />1. int (*a)[10] a是指向数组的指针 a++一次移动一个数组的大小<br />(理解指针时从里向外读)<br /> <br />2.[]优先级比*高,所以char * a[]是一个数组,元素是字符指针<br /> <br />3.int a[] = {1,2,3};<br />int *p = (int *)(&a+1); &a得到的是指向数组的指针,+1就指向了第4个元素<br /> x = *(p-1); p只是整形指针,-1指
2011-03-03 13:37:00
469
原创 extern,inline,宏,sizeof
<br /><br />Extern<br />1.extern int a;表示引用其它模块的全局变量a,此处只是声明 。<br />作用是告诉编译器该变量在其它地方已经有定义,如果实际没有,会在链接时报错。<br />一般在全局变量对应的头文件中声明,让其它模块包含<br /> <br />2.也可声明函数,但加不加效果一样。<br /> <br />3.声明数组可以不指定大小,但不可以声明为指针(因为数组是常指针?)<br /> <br />4.extern "C" 声明C函数 extern "C"
2011-02-28 12:52:00
758
原创 一道笔试题:从1亿个整数中找出最大的一万个
<br /><br />今天看到一篇赖永浩大牛的博客,由一道笔试题目谈算法优化。http://blog.youkuaiyun.com/lanphaday/archive/2008/12/19/3547776.aspx。<br />题目原题是从10亿个浮点数中找出最大的一万个,赖的文章主要是讲如何去优化算法,并不是侧重在这道题目,所以对其进行了简化。<br /> <br />题目:从1亿个整数中找出最大的一万个。<br /> <br />赖永浩的解法:<br />基本思想是维持一个数组记录当前最大的一万个数,每来一个新数
2011-02-27 16:25:00
4805
原创 const,volatile,enum,static
<br /><br /><br />Const<br />1. const限定符既可以在类型前也可以在类型后<br />const int a;和int const a;等价<br />同理const int * p和int const * p等价,都是指向常量的指针<br />而int * const p才是指向变量的常指针。<br />Char * const a[],a是一个常数组,指向的地址不可变,但地址上的内容可变,即a[0]不可变,但a[0][0]可变。<br /> <br />2
2011-02-25 13:25:00
847
原创 位运算
1. 六种位运算符&:清零特定位,x &= ~(1 取特定位,x & (1|:置1特定位,x |= 1^:取反特定位,x &= 1~:生成全1掩码,~0 >>:算术右移,-2>>1得到-1,-1>>1仍是-1(java中有单独的逻辑右移>>>)(标准未规定是算术移位,但一般都是)建议位运算都使用unsigned类型unsigned int x = 1U移位数会mod W,其中W为数据类型长度,因此2. 应用(1)不用temp交换两个数X ^= y; y ^= x; x
2011-02-24 21:42:00
555
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅