Jecho

导航

2013年5月21日 #

C++技巧之断言Assert

摘要: 断言的应该是一种编程的常见技巧。我所应用的断言有两种,一种是动态断言,即大家所熟知的C标准库的assert()宏,一种是C++中的静态断言,即在编译期间检查。1)动态断言:assert宏的原型定义在<assert.h>中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:[c-sharp]view plaincopy#include<assert.h>voidassert(intexpression);assert的作用是先计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。 阅读全文

posted @ 2013-05-21 17:57 Jecho 阅读(3495) 评论(0) 推荐(0) 编辑

断言的使用

摘要: 断言是用于检测一个条件的语句,某种程度上就像一个if语句。如果违反条件,它就触发一个错误,让你知道应该在何处修订自己的假设。这是一种帮你减少出错机率的工具,尤其是减少那些与预期不符的错误。•那么,为什么要使用断言,而不使用传统方法(比如if-then-else,switch-case-default或者try-catch)呢?断言是专为调试而设计的,其他方法则主要用于生产。通过断言,可检测自己的逻辑是否正确,而不是通过它来捕捉不可控制的异常。•断言是最快和最有效的调试方式断言与传统代码的比较•If-then-else风格:if (i % 3 != 0) {if (i < 0){Syste 阅读全文

posted @ 2013-05-21 17:56 Jecho 阅读(990) 评论(0) 推荐(0) 编辑