[英]Conditional breakpoint in Visual Studio - condition using non basic data types
是真的,条件断点中的条件只能具有基本数据类型(即int
, float
, bool
等)。 说,例如我已经定义NULL
要的目的class MyClass
如NULL_OBJ
。 我的代码中有一个对象MyClass myclassobject
。 我myclassobject==NULL_OBJ
在断点处输入条件myclassobject==NULL_OBJ
吗?
假设您不想将对象指针与空指针进行比较,这很简单; 是的,您可以提出这样的条件。
但是,您需要为相关的MyClass
overload
等于运算符==
:
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
对象与其进行比较。
( 参考 )
您可以获取对象的地址,并与通常进行比较。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.