喝着一杯咖啡

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

这里记录点c++表达式的内容。看似很简单,其实应对不同语言还是有知识可记录的。

 

1,*p 这样的意思是解引用指向存储区存储的值。而int *p则是一个int类型的指针。

2, 对于一个表达式是否为true或者false 。这个结果和表达式计算的顺序有关系,所以要注意到计算顺序这点。

3, 对于算术运算符%(取摸,求余)如果与负数,那么结果是正还是负,取决于环境(机器)。所以应该注意移植性问题。

4, 在表达式的计算中,不保证一定是从左到右的,所以要注意一些返回bool型的表达式的写法。c++规定具有&&,||符号的表达式,从左到右计算

     如

      1 if(ia[index++]<ia[index])

 2 {
 3 
 4 }
 5 //这样的写法未必正确
 6 if(ia[index]<ia[index+1])
 7 {
 8   
 9 }
10 //这样正确

 

 

5, complex支持:-=,+=,×=,/=,sqrt(),abs(),polar(),sin(),cos(),tan(),exp(),log(),log10(),pow().

     通过:real(),imag()分别获取实部和虚部。

6,sizeof :返回一个对象或类型名的字节长度。其也是一个常量。在编译时即能计算出结果。所以可以用来初始化数组长度。char的sizeof永远是1.sizeof用于指针时表示该类型地址所需的内存地址长度。用在对象上则是该引用对象类型的长度。

 7,bitset,包含了位操作的一系列方法,简化了位操作的复杂度。bitset<32> b1;一个具有32位的bitset对象。实际是0到31个元素。默认初始化为0;

     使用to_string()转换到string类型,to_ulong()转换到无符号long型 

     其余2个初始化方式 bitset<32> b2(oxffff);    bitset<32>b3(21)

posted on 2010-01-11 15:48  喝着一杯咖啡  阅读(222)  评论(0编辑  收藏  举报