auto変数として使う方法があります
たとえば下のような感じです
#include <iostream>
class CTest
{
int m_Value;
public:
CTest( int value );
void Print();
};
CTest::CTest( int value )
{
m_Value = value;
}
void CTest::Print()
{
printf( "%d\n", m_Value );
}
int main()
{
CTest* heep = new CTest(10);
heep->Print();
delete heep;
CTest stack(20);
stack.Print();
return 0;
}
いろいろ処理するのと、stackとしてexeファイルに埋め込む形にするのでは何が違うのでしょうか?
クラスのインスタンスへのアクセスや操作方法がちょっと異なる -> . などはわかります
私の勝手な予想だと、new の方法は、OSの使用できるメモリがある限り成功して
CTest stack(20) の方は、exeファイルに埋め込み、実行するときに確保されるメモリの領域内に
そのstackのサイズがないと失敗すると思ってます
メリットとしてはそれぞれ
new,heep: OSの使用できるメモリいっぱい使える
stack: exe内にオブジェクトを埋め込めるので簡単、delete を書く必要がない
デメリットは
new,heep: メモリが確保できなかった場合の処理を書かないといけない
stack: 実行ファイルが起動するときの最初のメモリの容量内でないといけない
と思ってます
どこか間違っているところがあればご指摘してくれると助かります