На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (495) « Первая ... 457 458 [459] 460 461 ...  494 495  ( Перейти к последнему сообщению )  
> Delphi vs C++ vs C# , ну и Java немножко, где-то ближе к старшему байту номеров страниц
    Цитата --Ins-- @
    В частности, я вынужден явно указывать их ссылочную природу, хотя мне трудно представить зачем в ООП передавать объект по значению в принципе

    Потому что он у тебя изначально такой! Передача параметров в функцию - это уже как следствие. Объекты потому что изначально создаются на стэке, а не в куче, и представляют из себя данные, а не ссылки на данные. Поэтому когда ты одному идентификатору присваиваешь другой, то происходиит копирование того что что находится за этим идентификатором. А находится за ним данные, а не ссылки на данные.
      Цитата --Ins-- @
      Я понимаю зачем передавать int по значению. Я понимаю зачем передавать struct по значению. Я не понимаю, зачем передавать объект по значению?

      Вы глаза то поднимите - над воротами написано, что экземпляры и int, и struct - тоже объекты. А вот где вы вычитали, что объекты - это обязательно ООП, для всех собравшихся всё ещё тайна.
        Цитата --Ins-- @
        КЭП, я в курсе. Я понимаю зачем передавать int по значению. Я понимаю зачем передавать struct по значению. Я не понимаю, зачем передавать объект по значению?

        Ты не понимаешь потому что даже что такое объект в Java. Почитай книжку, там будет написано что примитивные типы int, boolean, float и т.д. в Java это именно даные, а не ссылки на данные. А вот пользовательские объекты - это уже ссылки на данные, а не сами данные. А В С++ Что пользовательский объект, что примитивные - это данные, а не ссылки на данные. Понимаешь? Поэтому в java и получается что любой пользовательский тип передается как ссылка на данные, а не как данные.
          Цитата MyNameIsIgor @
          Ага, сделано. Это удобно. Или я должен вам на слово поверить, что это не удобно?


          Да ради бога, но не заставляй и меня на слово верить что это удобно если подтвердить нечем :D

          Цитата MyNameIsIgor @
          Это очередной "аргумент" или вы таки поведаете плюсовику обо всех этих самых связанных ошибках?


          А что тут неясно? Я не поставил звездочку (привык к Java и проч) и в метод ушла копия объекта :whistle: Да я в принципе не понимаю, что мешает передавать объекты всегда по ссылке, а структуры - всегда по значению? Смысл однотипности семантики в самой однотипности без привязки к реальности?
            --Ins--, чтобы умно троллить, тебе нужно задавать впорос такой: "Почему в С++ пользовательские объекты содержат данные, а не как в java ссылки?" А твой вопрос что ты про параметры задаешь, он нелепый какой то.
              Цитата KILLER @
              Ты не понимаешь потому что даже что такое объект в Java. Почитай книжку, там будет написано что примитивные типы int, boolean, float и т.д. в Java это именно даные, а не ссылки на данные. А вот пользовательские объекты - это уже ссылки на данные, а не сами данные. А В С++ Что пользовательский объект, что примитивные - это данные, а не ссылки на данные. Понимаешь?


              Прекрасно понимаю. Еще раз, спасибо КЭП
              :good:
                --Ins--, а сколько в Java будет весить объект класса, который содержит ровно одну переменную типа int и почему так? Вот когда ответишь на этот вопрос, думаю немножко станет ясно что я тебе толдычу. В С++ такой объект будет весить 4 байта.
                  Цитата KILLER @
                  "Почему в С++ пользовательские объекты содержат данные, а не как в java ссылки?" А твой вопрос что ты про параметры задаешь, он нелепый какой то.


                  Нет, первый вопрос более интересный. Второй - он философский, а первый - вытекает из реальности, которую я не могу понять: нафиг передавать объект по значению
                    Цитата --Ins-- @
                    Прекрасно понимаю. Еще раз, спасибо КЭП

                    Тогда в чем смысл твоего вопроса про передачу параметров в методы? Что ты услышать то хочешь?
                      Цитата KILLER @
                      Что ты услышать то хочешь?


                      Я хочу услышать нафига передавать в метод объект по значению? На практике я с такими случаями не встречался, всегда нужно передавать по ссылке. Хочу услышать ответ на этот простой вопрос, который уже десятый раз задаю
                        Цитата --Ins-- @
                        Второй - он философский, а первый - вытекает из реальности, которую я не могу понять: нафиг передавать объект по значению

                        :facepalm: Это следует из того, что пользовательский объект в С++ хранит именно данные, а не ссылку. Это не специально так делали, что вот параметры функции, мы будем по умолчанию передавать именно по значению. Это следует из природы объекта, понимаешь? Как передать неявно ссылку, если объект это данные? Компилятору то без разницы что я передаю, данные или указатель на данные, он присваивает локальному объекту то, что я передаю, а не что то свое. Потому что в С++ есть указатели, а в java их нет.
                          Цитата --Ins-- @
                          Я не поставил звездочку (привык к Java и проч) и

                          ... и --Ins-- изучает ошибки компилятора.
                          Цитата --Ins-- @
                          Смысл однотипности семантики в самой однотипности без привязки к реальности?

                          Вы просто в жизни свое не писали обобщённый код.
                            Цитата MyNameIsIgor @
                            Вы глаза то поднимите - над воротами написано, что экземпляры и int, и struct - тоже объекты.


                            В шарпе? Да, и это тоже на мой взгляд подмена понятий. Но работать это не мешает. И хоть они и суть объекты, прекрасно себя по значению передают когда надо. А вот до передачи настоящих объектов по значению они то не додумались. К счастью

                            Добавлено
                            Цитата MyNameIsIgor @
                            ... и --Ins-- изучает ошибки компилятора.


                            Компилятор такой провидец, что знает где мне нужно объект передать по ссылке, а где по значению? Я ведь могу и в объявлении метода не поставить по привычке
                            Сообщение отредактировано: --Ins-- -
                              Цитата --Ins-- @
                              Да ради бога, но не заставляй и меня на слово верить что это удобно

                              А я же не говорю, что ссылочная семантика для всего - это неудобно. Это вы тут камнями в значения кидаетесь.
                                Цитата --Ins-- @
                                Я хочу услышать нафига передавать в метод объект по значению?

                                А нафига ты передаешь в Java ссылку по значению, а не адрес этой ссылки ?

                                Цитата --Ins-- @
                                На практике я с такими случаями не встречался, всегда нужно передавать по ссылке. Хочу услышать ответ на этот простой вопрос, который уже десятый раз задаю

                                Что никогда int не передавал?

                                Я тебе десятый раз уже отвечаю, уже прям вот не знаю как еще ответить. Нуб полный бы уже давно бы понял наверное...
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (495) « Первая ... 457 458 [459] 460 461 ...  494 495


                                Рейтинг@Mail.ru
                                [ Script execution time: 0.6098 ]   [ 15 queries used ]   [ Generated: 29.07.26, 03:43 GMT ]