これはどう考えても危険ですか?他の方法については知りませんが、非常に疑わしいようです。
class cA
{
public:
cA(){}
~cA(){}
int a;
//say class have tons of members..
};
int _tmain( int argc, _TCHAR* argv[] )
{
cA obj;
cA *ptr = new cA;
*ptr = obj;
//ofc there is a 'delete ptr;' after
}
C++ で正しく覚えていれば、これは のオブジェクトcA
が作成され、ptr
それを指すことを意味します。これを実行して、長寿命のコンテナー ( vector<cA*>
) に挿入する必要があります。
obj の内容をスタックからヒープにコピーすることは有効ですか?
可能な解決策を編集しますか?
class cA
{
public:
cA(){}
~cA(){}
int a;
void Copy( cA & ref )
{
a = ref.a;
}
};
int _tmain( int argc, _TCHAR* argv[] )
{
cA obj;
cA *ptr = new cA;
ptr->Copy( obj );