条件断点中的条件是否只能具有基本数据类型(即int
、float
、bool
等)。例如,我NULL
为 a 的对象定义了class MyClass
as NULL_OBJ
。我的代码中有一个 object MyClass myclassobject
。我可以myclassobject==NULL_OBJ
在断点中设置条件吗?
问问题
624 次
2 回答
1
假设您不想将对象指针与空指针进行比较,这很简单;是的,你可以提出这样的条件。
但是,您需要对相关的overload
相等运算符:==
MyClass
class MyClass
{
public:
MyClass()
{
someMember = 0; // let this be null object condition
}
MyClass(int member)
{
someMember = member;
}
bool operator == (const MyClass &Ref) const
{
return(this->someMember== Ref.GetMember());
}
const int GetMember() const
{
return(this->someMember);
}
private:
int someMember;
};
#define NULL_OBJ MyClass()
通过#define NULL_OBJ MyClass()
,您可以定义一个空对象并将其与任何MyClass
对象进行比较。
(有参考)
于 2013-07-17T05:18:45.093 回答
0
您可以获取对象的地址并正常进行比较。
于 2013-07-17T05:30:29.260 回答