1 定义的数组维数必须是常量或者常量表达式。因为数组的维数必须在编译时刻决定。
类似,int a=2
int b[a];
虽然a已经定义,但是由于a不是常量表达式,所以a的值只能在运行时候访问。所以b[a]这种定义是不行的。
异常处理--溢出
c++ 中有一套比较完善的异常处理机智
比如一个除零异常
#include
double div(double,double);
main(){
try
{
cout<cout<cout<
}
catch(double)
{
cout<< "exception of deviding zero.n"
}
cout<
}
}
double div(double a,double b);
{
if (b==0)
thorw b;
return a/b;
}
如果发生异常,产生异常的函数退出堆栈,处理异常处理函数。如果没有异常处理函数,则调用系统默认处理函数,终止程序。
而对于类型的上溢和下溢时不能通过语言来发现的。因为在运行期间时刻检查数据类型的溢出是不太现实的。
但是c++头文件limints提供与内置类型表示有关的信息,例如一个类型能表示的最大值最小值。可以使用这些头文件来防止溢出和下溢。见c++primer.119.
[@more@]00来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/119212/viewspace-915177/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/119212/viewspace-915177/