我可以避免意外建造一个临时的吗?

时间:2012-11-02 19:34:59

标签: c++ constructor

  

可能重复:
  How to disallow temporaries in C++

有时候我打算写一些像

这样的东西
{
    MyClass anInstance( param );
    // other code...
}

但实际写了

{
    MyClass( param );
    // other code...
}

结果,析构函数在析构函数之后立即被调用,而不是在作用域的末尾。是否有任何方法来编写该类以使此错误产生编译错误?如果不这样,可能是我可以打开的可选警告? (我在Mac OS X上使用Clang。)

0 个答案:

没有答案