请问assert?

juliacn 2003-04-12 01:03:53
1。assert函数的功能?比如 assert(a<b); 怎么解释

2。下面的const怎么解释
bool operator==(Int x) const {return (val==x.val);}
...全文
50 5 打赏 收藏 转发到动态 举报
写回复
用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、重载==操作符

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧