摘要: 今天看了一下C++ Primer中关于const用法的介绍,讲得很好, 收益匪浅,于是做一个总结,方便以后再次查看。 但是c++在c的基础上新增加的几点优化也是很耀眼的,就const直接可以取代c中的#define以下几点很重要,学不好后果也也很严重。 一、const变量 1、限定符声明变量只能被读 const int i=5; int j=0; …… i=j; //非法,导致编译错误 j=i; //合法 2、 必须初始化 const int i=5; //合法 const int j; //非法,导致编译错误 3、在另一连接文件中引用... 阅读全文
posted @ 2012-08-12 16:09 张兰云 阅读(226) 评论(0) 推荐(0) 编辑
摘要: [cpp]view plaincopy//功能:由src所指内存区域复制count个字节到dest所指内存区域。//说明:src和dest所指内存区域可以重叠,但复制后dest内容会被更改。函数返回指向dest的指针void*memmove(void*dest,constvoid*src,size_tcount){assert((dest!=NULL)&&(src!=NULL));//安全检查assert(count>0);char*psrc=(char*)src;char*pdest=(char*)dest;//检查是否有重叠问题if(pdest<psrc){// 阅读全文
posted @ 2012-08-12 15:58 张兰云 阅读(348) 评论(0) 推荐(0) 编辑
摘要: 题目:已知有个rand7()的函数,返回1到7随机自然数,让利用这个rand7()构造rand10() 随机1~10。分析:要保证rand10()在整数1-10的均匀分布,可以构造一个1-10*n的均匀分布的随机整数区间(n为任何正整数)。假设x是这个1-10*n区间上的一个随机整数,那么x%10+1就是均匀分布在1-10区间上的整数。由于(rand7()-1)*7+rand7()可以构造出均匀分布在1-49的随机数(原因见下面的说明),可以将41~49这样的随机数剔除掉,得到的数1-40仍然是均匀分布在1-40的,这是因为每个数都可以看成一个独立事件。下面说明为什么(rand7()-1)*7 阅读全文
posted @ 2012-08-12 14:30 张兰云 阅读(345) 评论(0) 推荐(0) 编辑