条件断点中的条件是否只能具有基本数据类型(即int
,float
,bool
等等。
比方说,我已将NULL
的对象定义为class MyClass
为NULL_OBJ
。
我的代码中有一个对象MyClass myclassobject
。
我可以在断点中设置myclassobject==NULL_OBJ
条件吗?
答案 0 :(得分: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
对象与它进行比较。
(使用reference)
答案 1 :(得分:0)
您可以获取对象的地址并将其正常比较。