NEW
От: Разраб  
Дата: 11.04.24 11:29
Оценка:
какой смысл было вводить оператор new Object() в языки,
если это обычное выделение памяти под объект, т.е. функция https://modula3.github.io/cm3/reference/new.html ?
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re: NEW
От: GarryIV  
Дата: 11.04.24 11:31
Оценка: :)
Здравствуйте, Разраб, Вы писали:

Р>какой смысл было вводить оператор new Object() в языки

Списывали друг у друга
WBR, Igor Evgrafov
Re: NEW
От: so5team https://stiffstream.com
Дата: 11.04.24 11:45
Оценка:
Здравствуйте, Разраб, Вы писали:

Р>какой смысл было вводить оператор new Object() в языки,

Р>если это обычное выделение памяти под объект, т.е. функция https://modula3.github.io/cm3/reference/new.html ?

Как бы new это не только выделение памяти под объект.

А с учетом того, что new появился в языке Simula, если не ошибаюсь, задолго до рождения Modula-3, то скорее следует спросить а почему в Modula-3 решили отказаться от этой традиции.

Ну и, например, в Eiffel обошлись без введения new в языке. Там используется слово create
Re: NEW
От: B0FEE664  
Дата: 11.04.24 12:36
Оценка: 1 (1) +2
Здравствуйте, Разраб, Вы писали:

Р>какой смысл было вводить оператор new Object() в языки,

Р>если это обычное выделение памяти под объект, т.е. функция https://modula3.github.io/cm3/reference/new.html ?

Выделение памяти — это malloc, а new — это создание объекта. Бывают такие new, которые размещают объект в уже выделенной памяти.
И каждый день — без права на ошибку...
Re: NEW
От: kov_serg Россия  
Дата: 11.04.24 17:37
Оценка:
Здравствуйте, Разраб, Вы писали:

Р>какой смысл было вводить оператор new Object() в языки,

Р>если это обычное выделение памяти под объект, т.е. функция https://modula3.github.io/cm3/reference/new.html ?

Абсолютно бесполезно, особенно если учесть что объекты явно создавать в ооп вредно.
Лучше их создавать и подготавливать к использованию через вспомогательный объект (dependency inversion).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.