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

    А я не понял. Если бы я белеберду написал на делфи, то ты бы тоже не понял, а корвин бы допустим понял. И что?

    Цитата --Ins-- @
    О том, куда и где пишется результат - написал D_KEY, на что ты спросил а как в этом случае быть при ветвлении. Получил ответ и затупил окончательно

    Ппц, это ты тупишь. Я все понял еще когда D_KEY расписал. Потом вы с корвином начали тролить, что там все понятно. Я для корвина расписал что конкретно мне непонятно было в том коде! Что не так? Ну тупи дальше.

    Цитата --Ins-- @
    Мдааа

    твое мычание мне ни о чем не говорит ;)
      Цитата KILLER @
      Ппц, это ты тупишь. Я все понял еще когда D_KEY расписал. Потом вы с корвином начали тролить, что там все понятно. Я для корвина расписал что конкретно мне непонятно было в том коде! Что не так? Ну тупи дальше.


      :lool: Все, выносите! Киллер, напомни, друг, ты никак это сообщение не комментировал?
      Цитата D_KEY @
      А по-моему неплохо, когда функция просто возвращает результат своего последнего выражения

      Не на него ты возразил по поводу ветвления?
        Может хватить уже обсуждать способности друг друга, да еще и меня постоянно упоминать? :)
        По делу-то есть что сказать?
          OHSHI. Специально для Киллера перепишу код на конкретном языке (Ruby):
          ExpandedWrap disabled
            def f (x)
              if x == 5 then
                "five"
              elsif x == 10 then
                "ten"
              elsif x == 0 then
                "zero"
              else
                "wrong number"
              end
            end
             
            [0, 5, 10, 8].each do |x|
              puts "#{x} -> #{f(x)}"
            end

          =>
          ExpandedWrap disabled
            ~ $ ruby < ~/demo.rb
            0 -> zero
            5 -> five
            10 -> ten
            8 -> wrong number
            ~ $
            Цитата --Ins-- @
            Досрочный возврат из функции иногда удобен, так что я в принципе против него тоже ничего не имею, но
            1. Он структурному подходу все-таки более чужд
            2. Он не необходим - просто иногда с ним проще, чем без него. А иногда, когда когда нужно по-любому заводить переменную для хранения return value - так как-то не особенно
            Ктегорически не согласен. Структурный подход оформления кода -- это не какая то фича в вакууме, а она имеет вполне конкретный практический смысл. Например -- повысить читабельность кода. Функция с ретурном где нить в начале всяко лучше читается чем целая иерархия else блоков.
              Цитата Повстанець @
              Категорически не согласен. Структурный подход оформления кода -- это не какая то фича в вакууме, а она имеет вполне конкретный практический смысл. Например -- повысить читабельность кода. Функция с ретурном где нить в начале всяко лучше читается чем целая иерархия else блоков.

              Что-то не вижу в чем твое несогласие. Ты несогласен, что в некоторых случаях досрочный выход улучшает читабельность? Вроде согласен? Ты не согласен, что такой выход не соответствует структурному стилю? Не вижу описания этого несогласия. И да, ты прав, структурный стиль не "какая-то фича в вакууме", а вполне конкретная фича, суть которой в отражении оформления кода логической структуре алгоритма, который он описывает. Читабельность при этом не всегда бывает самая лушая.
                Цитата --Ins-- @
                Все, выносите! Киллер, напомни, друг, ты никак это сообщение не комментировал?

                Цитата --Ins-- @
                Не на него ты возразил по поводу ветвления?

                --Ins--, ну ты смотрю решил вообще прикинутся полным идиотом? Или на сама деле так тупишь? Ты видимо смысл не понимаешь. Да и не надо, тупи на здоровье, а можешь перечитать. Но тебе тупить легче видимо.

                Добавлено
                Цитата korvin @
                OHSHI. Специально для Киллера перепишу код на конкретном языке (Ruby):

                То что ты привел - это хорошо, но не плохо было бы также почитать что пишут. началось все с того, что в делфях чтобы возвратить чтото из функции нужно написать Result = значение, а потом Exit; На что я и заметил что не очень удобно, особенно когда в функции результат может высчитываца разными запутаными сопособами, так как везде придеца этот Result пихать. Еще вопросы есть?
                Сообщение отредактировано: KILLER -
                  Кстати, сменю тему. Тут еще и c# в теме холивара пристуствует... Может мне кто объяснить идею, почему не наследуются конструкторы с параметром и в классах-потомках их необходимо дублировать? Я что-то действительно не могу понять в чем глубокий смысл :wacko:

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


                  Неправильно ты дядя Киля обезьянничаешь :D Если хочешь ответить мне той же монетой, то и нужно как я это делать - не просто назвать тупым, а еще и обосновать почему ;) А то так как будто бы сдался :D
                    Цитата --Ins-- @
                    Может мне кто объяснить идею, почему не наследуются конструкторы с параметром и в классах-потомках их необходимо дублировать? Я что-то действительно не могу понять в чем глубокий смысл

                    Не знаю. Но допустим такую ситуацию - есть базовый класс с конструктором, принимающим определенные параметры. Ты создаешь базовый класс, конструктор которого не принимает параметров, а конструктор базового класса всегда вызывает с какой-то константой. В случае "наследования" конструктора с параметрами, пользователь сможет вызывать этот конструктор, тем самым нарушив работу класса. Или наоборот, конструктор в произвольно классе должен принимать бОльшее кол-во обязательных параметров, а клиент сможет вызвать "унаследованную версию" с меньшим кол-вом аргументов.
                    Т.е., по-другому-то как сделать было? :D
                    Сообщение отредактировано: Red -
                      Цитата --Ins-- @
                      Кстати, сменю тему. Тут еще и c# в теме холивара пристуствует... Может мне кто объяснить идею, почему не наследуются конструкторы с параметром и в классах-потомках их необходимо дублировать? Я что-то действительно не могу понять в чем глубокий смысл :wacko:

                      Там просто (отностительно) нормальные конструкторы, а не как в Delphi. Но мне не хочется в очередной раз обсуждать тему конструкторов/деструкторов Delphi :) Вроде все уже было сказано.
                        Цитата --Ins-- @
                        Может мне кто объяснить идею, почему не наследуются конструкторы с параметром и в классах-потомках их необходимо дублировать? Я что-то действительно не могу понять в чем глубокий смысл :wacko:

                        В смысле вот такие?
                        ExpandedWrap disabled
                          class A {
                            public:
                              A(int a = 10) {}
                          }
                           
                          class B {
                            public:
                              B(int a = 10) : A(a) {}
                          }


                        Это не "идея", а баг дизайна C++ кажется. У Мейерса описан :) ЕМНИП связано это с тем, что вызываемый конструктор определяется с динамическим связыванием, а параметры - статическим.
                          Цитата Мяут-Настоящий @
                          ЕМНИП связано это с тем, что вызываемый конструктор определяется с динамическим связыванием, а параметры - статическим.

                          Почему динамическим? Ведь создается конкретный известный тип, с конкретными известными конструкторами, перегрузки тоже статически разрешаются.
                          Или нет?
                            Мяут-Настоящий, ты что-то напутал и все в кучу смешал.
                            Мейерс писал говоришь... Ты наверно перепутал с описанной им проблемой о том, что параметры по умолчанию для виртуальных функций определяются статически, а сами функции выбираются динамически, что действительно может привести к проблемам. А конструкторы тут ни при чем.
                              Цитата Мяут-Настоящий @
                              Это не "идея", а баг дизайна C++ кажется.

                              Возьмем твой пример. Допустим нужно гарантировать, что объект должен быть инициализирован таким конструктором. Что делать с "унаследованным"? :)
                              ExpandedWrap disabled
                                class B {
                                  public:
                                    B(int a = 10, b = 20) : A(a) { _b = b }
                                }
                              Сообщение отредактировано: Red -
                                Цитата D_KEY @
                                Там просто (отностительно) нормальные конструкторы, а не как в Delphi. Но мне не хочется в очередной раз обсуждать тему конструкторов/деструкторов Delphi


                                Я сейчас не о нормальности/ненормальности, может оно и нормально. Мне смысл бы понять, ради чего?

                                Добавлено
                                Цитата Red @
                                Допустим нужно гарантировать, что объект должен быть инициализирован таким конструктором. Что делать с "унаследованным"?


                                Понятно. Я думаю на самом деле можно было бы что-нибудь придумать разработчикам языка, например слово ключевое слово new тут заюзать или вот именно тут конструктор с одним параметром переопределить как protected или еще что-нибудь. Но сам факт необходимости переобъявлять конструкторы в потомках - напрягает. Тро-ло-ло - а в Delphi такой проблемы нет :tong:
                                Сообщение отредактировано: --Ins-- -
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (495) « Первая ... 416 417 [418] 419 420 ...  494 495


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