Почему используется пара операторов new — delete (новый — удалить), а не
слова-антонимы create — delete или new — old? Потому что Страуструп так сказал?
Здравствуйте, Назарет, Вы писали:
Н>Почему используется пара операторов new — delete (новый — удалить), а не Н>слова-антонимы create — delete или new — old? Потому что Страуструп так сказал?
Ну, это понятно — во-первых, ++ означает увеличение (расширение языка С), а && — означает условие И (тогда бы программы,
написанные на С и С++ компилировались обоими компиляторами).
Вот я объясняю, допустим студенту: создаем объект оператором new (новый), а потом удаляем оператором delete (удалить). И только один человек спросил: а почему нет оператора old?
_>>А почему язык называется С++ а не С&&?
Н>Ну, это понятно — во-первых, ++ означает увеличение (расширение языка С), а && — означает условие И (тогда бы программы, Н>написанные на С и С++ компилировались обоими компиляторами). Н>Вот я объясняю, допустим студенту: создаем объект оператором new (новый), а потом удаляем оператором delete (удалить). И только один человек спросил: а почему нет оператора old?
Вероятно по той же причине по которой в Си { и } а не begin и end
Да и я, про old к примеру не сразу догадаюсь.. почему это обьект надо "старить"? А тут — "удалить", всё понятно...
_>Вероятно по той же причине по которой в Си { и } а не begin и end _>Да и я, про old к примеру не сразу догадаюсь.. почему это обьект надо "старить"? А тут — "удалить", всё понятно...
А почему тогда объект надо "обновлять", если он еще не существует?
Здравствуйте, Назарет, Вы писали:
Н>Вот я объясняю, допустим студенту: создаем объект оператором new (новый), а потом удаляем оператором delete (удалить). И только один человек спросил: а почему нет оператора old?
Студенту лучше сначала объяснить более важную вещь: не ищите логики там, куда вы ее не клали.
Н>Вот я объясняю, допустим студенту: создаем объект оператором new (новый), а потом удаляем оператором delete (удалить). И только один человек спросил: а почему нет оператора old?
Скажите студенту, что запись:
a = new A;
хорошо переводится на человеческий язык как: a присваивается новый (экземпляр) A.
Здравствуйте, Назарет, Вы писали:
Н>Почему используется пара операторов new — delete (новый — удалить), а не Н>слова-антонимы create — delete или new — old? Потому что Страуструп так сказал?
Нее,
new — это переводится как новый экземпляр объекта
delete — удаление этого экземпляра
Здравствуйте, Назарет, Вы писали:
Н>Почему используется пара операторов new — delete (новый — удалить), а не Н>слова-антонимы create — delete или new — old? Потому что Страуструп так сказал?
Здравствуйте, Назарет, Вы писали:
Н>Здравствуйте, _chipset, Вы писали:
_>>Вероятно по той же причине по которой в Си { и } а не begin и end _>>Да и я, про old к примеру не сразу догадаюсь.. почему это обьект надо "старить"? А тут — "удалить", всё понятно...
Н>А почему тогда объект надо "обновлять", если он еще не существует?
Н>>Почему используется пара операторов new — delete (новый — удалить), а не Н>>слова-антонимы create — delete или new — old? Потому что Страуструп так сказал?
В общем, объяснить можно так: оператор new — это сокращение от create new. Хотя, "создать новый" — звучит странно.
Неужели можно создать старый объект?