两个重要的宏是:
Q_ASSERT(b)里面的b是一个布尔表达式,当b是FALSE的时候,写出警告信息:“ASSERT: 'b' in file file.cpp (234)”。
Q_CHECK_PTR(p)里面的p是一个指针。如果p是空的话,写出警告信息:“In file file.cpp, line 234: Out of memory”。
这些宏在检测程序错误时很有用,比如像这样:
char *alloc( int size )
{
Q_ASSERT( size > 0 );
char *p = new char[size];
Q_CHECK_PTR( p );
return p;
}