0

条件断点中的条件是否只能具有基本数据类型(即intfloatbool等)。例如,我NULL为 a 的对象定义了class MyClassas NULL_OBJ。我的代码中有一个 object MyClass myclassobject。我可以myclassobject==NULL_OBJ在断点中设置条件吗?

4

2 回答 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 回答