Visual Studio中的条件断点 - 使用非基本数据类型的条件

时间:2013-07-17 05:09:36

标签: c++ visual-studio-2010 visual-studio visual-c++

条件断点中的条件是否只能具有基本数据类型(即intfloatbool等等。 比方说,我已将NULL的对象定义为class MyClassNULL_OBJ。 我的代码中有一个对象MyClass myclassobject。 我可以在断点中设置myclassobject==NULL_OBJ条件吗?

2 个答案:

答案 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)

您可以获取对象的地址并将其正常比较。