Delphi vs C++ vs C#
, ну и Java немножко, где-то ближе к старшему байту номеров страниц
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.192] |
|
|
Правила раздела:
| Страницы: (495) « Первая ... 456 457 [458] 459 460 ... 494 495 ( Перейти к последнему сообщению ) |
Delphi vs C++ vs C#
, ну и Java немножко, где-то ближе к старшему байту номеров страниц
|
Сообщ.
#6856
,
|
|
|
|
Какой вывод мы должны из этого сделать? |
|
Сообщ.
#6857
,
|
|
|
|
Универсальный ответ, который и я в любой момент мог бы применить по отношению к дельфи Красноречиво свидетельствует об отсутствии внятных аргументов |
|
Сообщ.
#6858
,
|
|
|
|
Причем тут метод? Я тебя спрашиваю про обычное копирование. Как копию объекта получить? Независимую? Чтобы изменив ее я не испортил оригинал? Или сравнить два объекта как? Присваивание считай таже передача параметров в функции. Когда параметр передаешь, у тебя по умолчанию все пользовательские объекты возвращают ссылку на данные, а не сами данные, и выходит что при присваивании копируется ссылка, передача в функцию так же работает, там тоже копирование ссылки. |
|
Сообщ.
#6859
,
|
|
|
|
Цитата MyNameIsIgor @ Какой вывод мы должны из этого сделать? О том, что я подозрительно отношусь к эксперту, который не может объяснить внятно и понятно элементарные и фундаментальные вещи, указать на ошибки в чужих рассуждениях. Видать, у самого целостной картины нет А еще то, что я такой скромный потому что я такой красивый |
|
Сообщ.
#6860
,
|
|
|
|
Цитата --Ins-- @ Универсальный ответ, который и я в любой момент мог бы применить по отношению к дельфи Красноречиво свидетельствует об отсутствии внятных аргументов Так вы сами не удосужились пояснить, что неудобного в C++ с ООП... |
|
Сообщ.
#6861
,
|
|
|
|
Цитата KILLER @ Присваивание считай таже передача параметров в функции. Когда параметр передаешь, у тебя по умолчанию все пользовательские объекты возвращают ссылку на данные, а не сами данные, и выходит что при присваивании копируется ссылка, передача в функцию так же работает, там тоже копирование ссылки. А следует это из того, что в java допустим объекты это чтото похожее на С++сные указатели. А В С++ по умолчанию ты оперируешь с данными, а не указателем на эти данные. |
|
Сообщ.
#6862
,
|
|
|
|
Цитата KILLER @ Причем тут метод? Я тебя спрашиваю про обычное копирование. А я тебя спрашиваю НАФИГА передавать В МЕТОД копию объекта по-значению? И причем тут клонирование? |
|
Сообщ.
#6863
,
|
|
|
|
Цитата --Ins-- @ О том, что я подозрительно отношусь к эксперту, который не может объяснить внятно и понятно элементарные и фундаментальные вещи, указать на ошибки в чужих рассуждениях. А я вот замечаю, что понимают друг друга те, кто находится на одном уровне интеллектуального развития. Потому та тема выглядела как объяснения профессора Преображенского Шарикову об основах поведения. Ну, а теперь вы можете представить мой взгляд на тот факт, что вы что-то там кому-то там смогли пояснить... |
|
Сообщ.
#6864
,
|
|
|
|
Цитата MyNameIsIgor @ Так вы сами не удосужились пояснить, что неудобного в C++ с ООП... Как, разве? Ну что ж, на всякий случай если и правда забыл: когда я использую ООП, я плачу за то, что не использую, а именно - то, что объекты в с++ предназначены не только для ООП. В частности, я вынужден явно указывать их ссылочную природу, хотя мне трудно представить зачем в ООП передавать объект по значению в принципе Добавлено Цитата MyNameIsIgor @ А я вот замечаю, что понимают друг друга те, кто находится на одном уровне интеллектуального развития. Потому та тема выглядела как объяснения профессора Преображенского Шарикову об основах поведения. А что, я разве неправильно объяснил? Значит уровень явно повыше Значит остальное - от лукавого |
|
Сообщ.
#6865
,
|
|
|
|
Цитата --Ins-- @ когда я использую ООП, я плачу за то, что не использую, а именно - то, что объекты в с++ предназначены не только для ООП. В частности, я вынужден явно указывать их ссылочную природу Ясно. Это называется "мне лень набрать звёздочку". Я понял. Да, аргумент. /me сразу побежал учить делфи Цитата --Ins-- @ хотя мне трудно представить зачем в ООП передавать объект по значению в принципе Ага, а паттерн prototype оопэшники придумали просто так. А вообще им копии объектов никогда-никогда не нужны. Добавлено Цитата --Ins-- @ А что, я разве неправильно объяснил? Да я хз что вы там ему говорили. Вы оба не относитесь к тем людям, за чьими постами на форуме я слежу. |
|
Сообщ.
#6866
,
|
|
|
|
Цитата --Ins-- @ А я тебя спрашиваю НАФИГА передавать В МЕТОД копию объекта по-значению? И причем тут клонирование? Ты специально уходишь от ответа? Неужели не понятно зачем? Я что плохо объяснил? Ок попробую еще раз: Это следует из того что в С++ по умолчанию объекты - не ссылки на данные, а сами данные. А в Java например, объект это ссылка на данные, а не сами данные. Когда ты параметр в функцию/метод передаешь, это тоже самое что ты присваиваешь один объект другому, только знака присваивания ты не видишь, там происходит неявное присваивание: ![]() ![]() int SomeMethod(int a) { a = 5; } //! Что тут происходит? А вот что, другими словами этот пример перепишется примерно так: int a = 0; SomeMethod(int a) { int b = a;//! Вот эта b - эта локальная копия переданного a. В нутри метода у тебя будет копия a, и называться она также будет, но будет это именно копия, потому что по умолчанию мы оперируем не ссылками, а со значениями. } В Java там напротив, конструкция выше развернется в нечто: ![]() ![]() int SomeMethod(Object* obj) { Object* pObj = obj; //! тут мы копируем не самми данные, а ссылку на них. } |
|
Сообщ.
#6867
,
|
|
|
|
Цитата MyNameIsIgor @ А вообще им копии объектов никогда-никогда не нужны. Очень редко, особенно в свете того, что передача копии сделана по умолчанию Лучше бы в этом случае какую-либо звездочку пришлось рисоватьЦитата MyNameIsIgor @ Ясно. Это называется "мне лень набрать звёздочку" Например. И всевозможные ошибки с этим связанные. |
|
Сообщ.
#6868
,
|
|
|
|
Цитата --Ins-- @ а именно - то, что объекты в с++ предназначены не только для ООП. Что значит предназначены? ООП - это парадигма, а не правило какие объекты для чего предназначены |
|
Сообщ.
#6869
,
|
|
|
|
Цитата KILLER @ Это следует из того что в С++ по умолчанию объекты - не ссылки на данные, а сами данные. А в Java например, объект это ссылка на данные, а не сами данные. Когда ты параметр в функцию/метод передаешь, это тоже самое что ты присваиваешь один объект другому, только знака присваивания ты не видишь, там происходит неявное присваивание: КЭП, я в курсе. Я понимаю зачем передавать int по значению. Я понимаю зачем передавать struct по значению. Я не понимаю, зачем передавать объект по значению? |
|
Сообщ.
#6870
,
|
|
|
|
Цитата --Ins-- @ Очень редко, особенно в свете того, что передача копии сделана по умолчанию Ага, сделано. Это удобно. Или я должен вам на слово поверить, что это не удобно? Цитата --Ins-- @ Например. И всевозможные ошибки с этим связанные. Это очередной "аргумент" или вы таки поведаете плюсовику обо всех этих самых связанных ошибках? |