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


    Откуда угодно. Может глобальный (синглтон), может в параметрах, может коллбэком получил, может из собственных полей
      Цитата --Ins-- @
      Откуда угодно. Может глобальный (синглтон), может в параметрах, может коллбэком получил, может из собственных полей

      Нельзя его изменить, уже ведь написали, я даже код привел, который повторяет твой хитрый сценарий :D
        Цитата Adil @
        Если же этот "какой-то-другой" объект является членом "текущего" объекта


        А если ссылка на него является членом текущего?
          --Ins--, ты просто заморачиваешься на других объектах, а тебе объясняют что в константных методах состояние объекта *this изменить нельзя...
            Цитата --Ins-- @
            Откуда угодно. Может глобальный (синглтон), может в параметрах, может коллбэком получил, может из собственных полей
            Если он глобальный или из параметров, то какое отношение его изменение имеет к изменению (точнее, к не изменению) текущего константного объекта? Если он из "собственных полей", то вызвать можно только его константные методы.
              Цитата --Ins-- @
              Откуда угодно. Может глобальный (синглтон), может в параметрах, может коллбэком получил, может из собственных полей

              Еще раз. const гарантирует сохранение состояния собственно объекта и его полей. Он не может гарантировать неизменность переменной в другом потоке в другом процессе.
              Глобальные объекты могут меняться всегда, так как они объявлены однократно и без использования семантики const.
              Параметры могут меняться в том случае если переданы не как const.

              Добавлено
              Короче показывай уже кодом, как ты хотел сломать наш сиплюсплюс.
                Цитата --Ins-- @
                А если ссылка на него является членом текущего?
                Тогда компилятор позволит вызвать только его константные методы, в который раз уже повторяю.
                  Цитата KILLER @
                  а тебе объясняют что в константных методах состояние объекта *this изменить нельзя...


                  Это я понимаю, что явно нельзя. А косвенно?

                  Цитата KILLER @
                  Нельзя его изменить


                  Мне показалось, что D_KEY говорит что можно :-?
                    Цитата --Ins-- @
                    Цитата D_KEY @
                    Да, ибо никакие гарантии и контракты никто не нарушал.


                    Ну так чего ты говоришь что не показал? Предали объект как константный, а его взяли и поменяли. Так?

                    Но не тот, кто обещал его не менять.
                      Цитата --Ins-- @
                      Это я понимаю, что явно нельзя. А косвенно?

                      Через жопу - можно, тебе еще D_KEY об этом говорил :D Но будет UB
                      Сообщение отредактировано: KILLER -
                        Цитата --Ins-- @
                        Цитата D_KEY @
                        Какой-то говнокод получится.


                        Госспади, вы никогда компоновщик не использовали? У меня в каждом проекте по сто раз. Древовидная структура, да блин, компоненты на форме древовидную иерархию образуют :) Пэрэнт-Чайлд :) Какой говнокод, акстись :D

                        Конечно, использовали. Там все будет в порядке с const. Ты, похоже, не совсем понял все-таки.
                          Цитата --Ins-- @
                          Откуда угодно. Может глобальный (синглтон), может в параметрах, может коллбэком получил, может из собственных полей
                          Глобальный -- сразу говнокод. Если передали в парамерах -- то защита класса в твоих руках. Гарантии получаются абсолютно аналогично -- константностью параметров. Если откуда то получил и из собственных полей, то и вызвать сможешь только константные методы. Константные методы вызываемого смогут вызвать только константные методы твоего.
                            Цитата Adil @
                            Тогда компилятор позволить вызвать только его константные методы, в который раз уже повторяю.


                            Ясно, а если не член текущего? Возможность вызывать константные методы только на члены распространяется?

                            Добавлено
                            Цитата Повстанець @
                            Глобальный -- сразу говнокод


                            Эээ, прошу прощения, что именно говнокод? Наличие в программе глобальных объектов?
                              Цитата --Ins-- @
                              Ясно, а если не член текущего? Возможность вызывать константные методы только на члены распространяется?
                              Если он со "стороны", то его изменение не изменяет "текущий" объект.
                                Цитата --Ins-- @
                                Эээ, прошу прощения, что именно говнокод? Наличие в программе глобальных объектов?
                                Нет. Использование их без логической связи.
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (495) « Первая ... 55 56 [57] 58 59 ...  494 495


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