Присвоение неинициализированной памяти в C++C++

Программы на C++. Форум разработчиков
Anonymous
Присвоение неинициализированной памяти в C++

Сообщение Anonymous »


Если бы у меня был такой код, это было бы допустимо в C:

int* i = static_cast(std::malloc(sizeof(int))); *я = 123; Это также легально для C++ или будет вызывать неопределенное/определенное реализацией поведение? И для каких типов это будет законно?

Или в этом случае нужно будет уже сделать new(i) int (123);?

Например, для нетривиальных классов это недопустимо, поскольку объект никогда не создается, а затем вызывается его operator=.

Вернуться в «C++»