1.确认某表达式等为真
2. debug版本有效
3.可以判断指针是否为空,hwnd 是否合法等等。
4.一般来说,if的判断用于与客户直接打交道的函数层,比如打开一个用户指定的文件,你首先要判断该字符串是否为空,这时用if;
而ASSERT一般用于你的底层函数层,此类参数错误一般是由于上层函数的错误而导致的,比如你打开一个文件,读出里面的内容并加密显示出来,在你的加密 函数里,也就是你的底层函数里,ASSERT读文件函数传过来的内存指针是否为空,正常运行时,读文件函数是不会传过来一个NULL指针的,可是如果你闭 着眼睛去拿这个指针干活,万一为NULL,后果不堪设想,