重新初始化堆栈上分配的变量

时间:2012-07-14 23:11:47

标签: c++ variables initialization stack

在下面的代码中,cm变量在堆栈上分配,addConstraints是方法的原型:

ConstraintManager cm(5);

void addConstraints(ConstraintManager& cm);

当我调用addConstraints时,我想重新初始化函数体内的cm变量。这就是调用它的构造函数,例如像cm(3)那样重新初始化为包含3而不是5.但是我无法做到这一点,我唯一能做的就是:

ConstraintManager temp(3);
cm = temp;

有没有办法以更简洁的方式实现这一目标?感谢。

1 个答案:

答案 0 :(得分:0)

  

是的,但遗憾的是我无法修改课程

如果没有直接的方法在班级的公共界面中更改该成员,那就意味着,在我的书中,你不应该改变它。

如果你必须,你已经拥有的是这样做的方式,只是更简洁:

cm = ConstraintManager(3);