基于契约编程-实践毕业论文.pptVIP

  • 0
  • 0
  • 约6.6千字
  • 约 23页
  • 2016-09-18 发布于河南
  • 举报
毕业论文,毕设论文,毕业设计,毕业设计说明书,外文翻译,毕业论文,毕设论文,毕业设计,毕业设计说明书,外文翻译

Design by Contract — Practice Language Support in C/C++ 和其他语言相比,C/C++特别注重效率,因此不受任何程序员控制的运行期内部检查机制 如:指针检查、数组下标检查、运行期类型检查等 断言的使用(非关键字) assert ASSERT assert()用法 assert宏的原型定义在assert.h中,其作用是如果它的条件返回错误,则终止程序执行 一般在Debug版有效,在Release版不起作用 用法: 在函数开始处检验传入参数的合法性 每个assert最好只检验一个条件 不要使用有副作用的语句 assert和后面的语句应空一行,以形成逻辑和视觉上的一致感 有的地方,assert不能代替条件过滤 例子 double sqrt(double x) { assert( x=0 ); //pre-condition //.... //.... //.... assert( fabs(y*y-x) eps ); //post-condition return y; } ASSERT和VERIFY 在VC环境下一般使用ASSERT和VERIFY 在Debug模式下作用基本一致,二者都对表达式的值进行计算,如果值为非0,则什么事也不做;如果值为0,则输出诊断信息。 在Release模式下效果完全不

文档评论(0)

1亿VIP精品文档

相关文档