В c ++, что произойдет, если выделить объем памяти на ноль?
Допустим массив нулевого размера.
Вы просто можете отменить ссылку на любого участника.
Вот почему греки так долго обсуждали его, думая о нуле как о числе. Но мы можем поблагодарить Индию за ее великие умы за то, что они в конечном итоге привели ноль к числу 0. Это заняло их навсегда, и разве мы не рады, что многие современные математические вычисления были бы невозможны без такой уникальной ценности.
после выделения я получаю правильный указатель памяти,
Это правильно.
Если он потерпит неудачу, он выдаст исключение.
и печатает действительный номер.
Ваше задание: p = &a;
, вероятно, не то, что вы хотите. Поскольку это только утечка памяти и установите p, чтобы указать на переменную a. Что вы, вероятно, пытались сделать, это:
(*p) = a;
// or
p[0] = a;
Это неопределенное поведение.
Как вы присваиваете значения после конца массива.
Но я думаю, что новый оператор должен возвращать что-то вроде FAILD или NULL.
номер
Кто-нибудь может объяснить подробнее?
Да.