Использование new (и динамическое выделение памяти в целом) лучше, если вам нужно, чтобы объект работал дольше, чем область вызываемой функции. Если это просто на известную длительность, лучше всего использовать локальную версию MyClass myC;
. (потому что его легче читать и поддерживать).
При использовании new
ваш объект "myC" не будет удален, пока вы не вызовете delete
.
Однако, если вы просто определите его как локальный объект, он будет удален, когда выйдет из области видимости:
{
MyClass myC;
myC.DoSomeStuff();
} // It'll be destroyed here