社区
C语言
帖子详情
请问assert?
juliacn
2003-04-12 01:03:53
1。assert函数的功能?比如 assert(a<b); 怎么解释
2。下面的const怎么解释
bool operator==(Int x) const {return (val==x.val);}
...全文
83
5
打赏
收藏
请问assert?
1。assert函数的功能?比如 assert(a<b); 怎么解释 2。下面的const怎么解释 bool operator==(Int x) const {return (val==x.val);}
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
oyd
2003-04-17
打赏
举报
回复
同意point_to(一 指) 对assert的解释,尽量多用assert宏,可以在调试阶段方便的发现问题。
bool operator==(Int x) const {return (val==x.val);}
这一句const用来修饰函数,该成员函数不能对成员变量进行改动,否则编译器报错。
而且对于常量对象,不允许调用它的非常量方法。
如下
class A
{
public:
A(int value)
:m_value(value){}
int GetValue()const{return m_value;}
void SetValue(int value){m_value=value;}
private:
int m_value;
}
如果声明为
const A a(10);
那么可以调用a.GetValue();但是不可以调用a.SetValue(10);
DavidBone
2003-04-17
打赏
举报
回复
up
point_to
2003-04-12
打赏
举报
回复
assert不是函数而是宏!!!
断言assert是仅在Debug版本起作用的宏它用于检查不应该发生的情况。在运行过程中如果assert的参数为假那么程序就会中止,一般地还会出现提示对话说明在什么地方引发了assert
被const修饰的东西都受到强制保护可以预防意外的变动,能提高程序的健壮性。
woxihuanbohe
2003-04-12
打赏
举报
回复
assert是 断言吧!?
熊主任
2003-04-12
打赏
举报
回复
1、如果a < b就满足条件,否则报错,主要用于程序调试
2、重载==操作符
assert
,
ASSERT
中的void
assert
C\C++语言提供的断言宏. 定义如下: #define
assert
(_Expression) (void)( (!!(_Expression)) || (_w
assert
(_CRT_WIDE(#_Expression), _CRT_WIDE(__FILE__), __LINE__), 0) )
ASSERT
ASSERT
_VALID和
ASSERT
宏分析
这个宏都是MFC的调试宏.
ASSERT
_VALID宏用来在运行时检查一个对象的内部合法性,比如说现在有一个学生对象,我们知道每个学生的年龄一定大于零,若年龄小于零,则该学生对象肯定有问题。事实上,
ASSERT
_VALID宏就是转化为对象的成员函数
Assert
Valid()的调用,只是这种方法更安全。它的参数是一个对象指针,通过这个指针来调用它的
Assert
Valid()成员函
assert
关于
assert
系统函数
assert
使用
assert
一般用于检测函数参数的合法性,攻城狮们可以自己封装
Assert
作为宏,比如: #define
Assert
(condition) { if (condition){ NUll; } else {
Assert
(__FILE__ , __LINE__); } } while(0) 调用时,像这样: void Test(uns...
ASSERT
_VALID
ASSERT
_VALID( pObject ) 一个宏,用来验证值是否不为null.参数: pObject 指定了从CObject继承的类的对象,它具有
Assert
Valid成员函数的重载版本。 说明:这个函数用于检验你对对象内部状态的有效性的假定。
ASSERT
_VALID调用作为参数传递给它的对象的
Assert
Valid成员函数。在MFC的发行版本中,
ASSERT
_VALID什么也
ASSERT
什么时候用?怎么用?
ASSERT
什么时候用?怎么用?
ASSERT
()是一个调试程序时经常使用的宏,在程序运行时它计算括号内的表达式,如果表达式为FALSE (0), 程序将报告错误,并终止执行。如果表达式不为0,则继续执行后面的语句。这个宏通常原来判断程序中是否出现了明显非法的数据,如果出现了终止程序以免导致严重后果,同时也便于查找错误。
ASSERT
只有在Debug版本中才有效,如果编译为Rele
C语言
70,040
社区成员
243,245
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章