ITPub博客

首页 > IT职业 > IT生活 > 20070506

20070506

原创 IT生活 作者:emilyrd 时间:2007-05-16 08:58:41 0 删除 编辑

1 定义的数组维数必须是常量或者常量表达式。因为数组的维数必须在编译时刻决定。

类似,int a=2

int b[a];

虽然a已经定义,但是由于a不是常量表达式,所以a的值只能在运行时候访问。所以b[a]这种定义是不行的。

异常处理--溢出

c++ 中有一套比较完善的异常处理机智

比如一个除零异常

#include

double div(double,double);

main(){
try

{

cout<<"7.0/2.0"<cout<<"7.0/0.0"<cout<<"7.0/1.0"<

}

catch(double)

{

cout<< "exception of deviding zero.n"

}

cout<<"this is ok";

}

}

double div(double a,double b);

{

if (b==0)

thorw b;

return a/b;

}

如果发生异常,产生异常的函数退出堆栈,处理异常处理函数。如果没有异常处理函数,则调用系统默认处理函数,终止程序。

而对于类型的上溢和下溢时不能通过语言来发现的。因为在运行期间时刻检查数据类型的溢出是不太现实的。

但是c++头文件limints提供与内置类型表示有关的信息,例如一个类型能表示的最大值最小值。可以使用这些头文件来防止溢出和下溢。见c++primer.119.

[@more@]00

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/119212/viewspace-915177/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 20070505-c++复习
下一篇: c与c++的相互引用
请登录后发表评论 登录
全部评论
  • 博文量
    8
  • 访问量
    44381