小编jla*_*ack的帖子

如何在c ++中检查对象是否==这个

我花了很多时间用Java编程并花了相当多的时间编写c ++,但是我遇到了一个我无法解决的问题.在Java类中,我可以简单地编写以下内容,

public void doOperation(object a)
{
    if(a != this)
    {
        set(a); // just some method that sets this.a = object.a
    }

    doOperation();
}

public void doOperation()
{
   this.a = pow(this.a,3);
}
Run Code Online (Sandbox Code Playgroud)

我在c ++中实现的部分是if语句,我检查参数对象是否等于this.我在c ++中试过这个

object::doOperation(object a)
{
    if(a != this)
    {
        set(a);
    }

    doOperation();
}

object::doOperation()
{
    this->a = pow(this->a,3)
}
Run Code Online (Sandbox Code Playgroud)

我得到的错误是"不匹配'运算符!='(操作数类型是'object'和'object*const')".提前感谢任何可以提供帮助的人!

c++ oop

2
推荐指数
1
解决办法
1728
查看次数

Const方法返回向量元素的非const引用

我很难弄清楚如何从const类方法返回non-const对元素的引用std::vector.我想要的一个简单例子是,

template<class T>
class MyClass
{
 public:
 MyClass : myVec(3)
 {
 }

 T& x() const
 {
    return *(myVec.data())[0]
 }

 std::vector<T> myVec;
}
Run Code Online (Sandbox Code Playgroud)

我想要的行为是,我希望能够做到以下几点,

MyClass obj<double>;
obj.x() = 3.3;
assert(obj.x()==3.3)
Run Code Online (Sandbox Code Playgroud)

Eigen给出了相同类型的行为,但我无法弄清楚如何让它工作.

c++ const reference vector const-method

2
推荐指数
1
解决办法
882
查看次数

标签 统计

c++ ×2

const ×1

const-method ×1

oop ×1

reference ×1

vector ×1