Это вы не правы: В С++ по-любому память под объекты динамически выделяется.
Можно динамически, а можно и статически.
а памяти не хватает - что произойдет?
Ничего хорошего...Либо стек попортится, либо объект не создасться.
А если не динамически, линкер сам скажет, что памяти нету.
Если речь про глобальные переменные, то скажет.