
C C++
yidebao
这个作者很懒,什么都没留下…
展开
-
static 用法总结
一 静态局部变量 1 存储空间的分配 作用域 生存期 static分配在静态存储区,作用域仅仅限于声明该变量的函数内部。在程序 整个运行期间都不释放,生存期贯穿于程序运行的整个过程。 auto类型分配在栈上,属于动态存储类别,占动态存储区空间,作用域仅仅限于声明该变量的函数内部。函数调用结束后自动释放,生存期不过是在声明该变量的函数内部 2 赋初值时的处理方式 static静态局部变转载 2012-04-11 20:39:54 · 399 阅读 · 0 评论 -
宏展开出错
当我们在分析有关宏定义的问题时,最简单的办法就是先把宏的内容进行替代,然后在进行分析。 如:#define sqr(x) x+x #define fun(x) x*x 则分析如下表达式的结果 sqr(3) //第一个很简单就是x+x即3+3=6 fun(3+3) //第二个先用宏替代则为 3+3*3+3则为15 !sqr(3)转载 2012-04-11 21:02:54 · 352 阅读 · 0 评论 -
万能const限定符与指针
不记得谁说过,能用const的时候尽量用const。确实,const为增加程序的健壮性做出了很大贡献,但是const修饰指针的时候还是值得注意的。 一.指向const对象的指针; 如果指针指向const对象,那么很显然不能通过指针改变其所指向的const值。为了保证这个特性,C++语言强制要求指向const对象的指针也必须要具有const特性。 const double转载 2012-04-11 21:02:12 · 317 阅读 · 0 评论 -
浅谈指针使用中注意事项
相信大家对指针的用法已经很熟了,这里也不多说些定义性的东西了,只说一下指针使用中的注意事项吧。 一.在定义指针的时候注意连续声明多个指针时容易犯的错误,例如int * a,b;这种声明是声明了一个指向int类型变量的指针a和一个int型的变量b,这时候要清醒的记着,而不要混淆成是声明了两个int型指针。 二.要避免使用未初始化的指针。很多运行时错误都是由未初始化的指针导致的,而且这种错误又不能转载 2012-04-11 21:05:00 · 534 阅读 · 0 评论 -
按位反转字符问题
方法一:(最最容易想到的办法) unsigned char ReverseBitsInChar00(unsigned char Num) { unsigned char ret = 0; int i; for(i=0;i { ret ret |= Num & 1; Num >>= 1; }转载 2012-04-11 20:51:07 · 750 阅读 · 0 评论