注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

刘邓

每天收获一点点-目标:富足

 
 
 

日志

 
 

C++细节(2)  

2012-04-22 23:29:01|  分类: C++编程思想(卷 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
1.C++强制类型转换

#include<iostream>
using namespace std;
int main()
{
int i = 1.12;
static_cast<int>(i);//新C++标准的用法,推荐以后使用
/*
新的C++标准类型转换方法包括:
static_cast<Type>(expression)默认使用转换方式
const_cast<Type>(expression)将表达式的const属性消除掉
dynamic_cast<Type>(expression)用于继承层次中转化为派生类
*/
cout<<i<<'\n';//输出1
i = int(3.13);//老旧方法
cout<<i<<endl;输出3
i = (int)5.22;//老旧方法
cout<<i<<endl;//输出5
system("pause");
return 0;
}

2.C++自增自减
n++,n--在此表达式没遇到分号之前n的值不变,此表达式的值还为n
++n等于n=n+1;--n等于n=n-1出现了上表达式代表的值为n+1

3.Switch语句
如果在case后不加break将执行下面case的语句直到出现break或者语句结束
注:应该尽量为switch设置default默认设置

4.逗号操作符(个人觉得没有必要)
建议在for循环中使用,其他地方没必要
result = (a=1,b = a+1)则result = 2;
逗号操作符返回的是最后一个表达式的值。

5.随机数生成

//介绍rand()生成伪随机数
#include<iostream>
#include<cstdlib>
using namespace std;
int main()
{
int a[10];
int i;
srand(16);
//srand(seed)其中种子(seed) 决定了 rand()函数生成的随机数列
//同一系统下同一个seed始终产生相同的随机数列
for(i=0;i<10;i++)
a[i] = rand();//为了产生【0.n】的随机数可以采用a[i] = rand()%(n+1);来实现
a[i] = rand()%11;//产生【0,10】的随机数
for(i = 0;i<10;i++)
cout<<a[i]<<" ";
system("pause");
return 0;
}


6.过程抽象
所谓过程抽象就是编写和使用黑箱函数。
如何编写一个黑箱函数的定义
1.函数声明的注释应当包含参数的全部信息,并描述运行函数的结果
2.处形参以往,黑箱函数的变量都应该在函数体内声明。

7.传引用调用实质
传引用调用实际上是将实参名和形参名都对应于一个相同的内存地址,函数的参数传递过程实质是将实参的内存单元列表传递给形参。

8.默认实参
默认实参就是为了防止程序员忘记或者程序需要没有对形参进行赋值情况下默认的值,实质就是对形参进行初始化。

9.测试于调试函数

#define NDEBUG //此定义将使assert宏不再起作用
#include<iostream>
#include<cassert>
using namespace std;
int main()
{
int i = 1;
assert(i>1);
//用于程序测试,assert(bool expression)布尔表达式为真是继续运行
//否则显示错误信息,终止程序 。
//在程序开发完成以后可以在开头加入#define NDEBUG来使assert失效。
cout<<i<<endl;
system("");
return 0;
}


10.占位程序和驱动程序
驱动程序是一个单独用来测试单个的函数的程序
占位程序是一个程序的简化,如不要函数执行过程直接返回一个特定的值,多用于协同测试其他程序。
  评论这张
 
阅读(53)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017