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

    В c++ - не выделяется. Поэтому я не знаю, что будет, если я напишу a = b, не разбирая код кк/оп, если они есть. А в c# - достаточно знать тип.

    Добавлено
    Цитата Adil @
    Ну в первом звене явно что-то не так. :)

    Всё так.
      Цитата IL_Agent @
      Цитата Adil @
      Так а чем присваивание выделяется на фоне других методов?

      В c++ - не выделяется. Поэтому я не знаю, что будет, если я напишу a = b, не разбирая код кк/оп, если они есть. А в c# - достаточно знать тип.

      А если тип структура?
        Но ведь ты не знаешь, что будет, если напишешь
        a.Assign(b);
        a.release();
        a.Free();
        a.alloc();
        ...
        [тысячи их]
        Ты смотришь код всех используемых методов?
          Цитата D_KEY @
          То, что ты описал - кривизна.

          Ну а то, что я описывал касательно С++ - кривизна как минимум не меньшая.
          Цитата D_KEY @
          "Безальтернативность" - это когда некий инструмент является лучшим для решения некоторого круга задач?

          Скорее единственный. Конечно, есть задачи, в которых он лучший и не единственный.
          Цитата D_KEY @
          Почему? "поведение будет соответствовать operator= для значений данного типа"

          :D А, ну с этим точно не поспоришь.
          Цитата D_KEY @
          Почему :blink: ? Тип он и есть тип. Я, например, не знаю, является ли std::vector<int>::iterator классом, структурой, указателем или еще чем-то.
          Зачем мне это знать?


          Знать тип и знать идентификатор, с помощью которого объявляются переменные этого типа - имхо не одно и то же.

          Добавлено
          Цитата Adil @
          Ты смотришь код всех используемых методов?

          Да причём тут все методы ? Мы говорили про a = b.
            Цитата IL_Agent @
            Да причём тут все методы ? Мы говорили про a = b.
            Да причём тут a = b? Давай поговорим о всех методах!
              Цитата IL_Agent @
              Цитата D_KEY @
              То, что ты описал - кривизна.

              Ну а то, что я описывал касательно С++ - кривизна как минимум не меньшая.

              Ты пока этого показать не сумел :'(

              Цитата
              Цитата D_KEY @
              Почему :blink: ? Тип он и есть тип. Я, например, не знаю, является ли std::vector<int>::iterator классом, структурой, указателем или еще чем-то.
              Зачем мне это знать?


              Знать тип и знать идентификатор, с помощью которого объявляются переменные этого типа - имхо не одно и то же.

              Прячешься за формулировками?
              Я используют тип std::vector<int>::iterator совершенно свободно. А класс он или указатель или еще что-то меня не касается - этот выбор остается за автором.
              И переменные создавать могу, и работать с ними. А вот в случае, когда классы выпадают из системы типов, все гораздо хуже ;)

              Цитата
              Цитата Adil @
              Ты смотришь код всех используемых методов?

              Да причём тут все методы ? Мы говорили про a = b.

              А почему это не может быть метод? Мы говорим о значениях, ты о ссылках. В случае ссылок это действительно не метод, но ведь в шарпе есть и типы-значения?
                Цитата D_KEY @
                Я используют тип std::vector<int>::iterator совершенно свободно. А класс он или указатель или еще что-то меня не касается - этот выбор остается за автором.

                а если от него унаследоваться?
                  Цитата korvin @
                  Цитата D_KEY @
                  Я используют тип std::vector<int>::iterator совершенно свободно. А класс он или указатель или еще что-то меня не касается - этот выбор остается за автором.

                  а если от него унаследоваться?

                  Зачем мне от него наследоваться :wacko: ?
                    Цитата D_KEY @
                    А почему это не может быть метод?

                    делать оператор присваивания методом -- весьма идиотская затея, необходимости в этом быть в принципе не должно. само добавление оператора присваивания в язык сильно усложняет семантику языка, но это почти всегда оправданная цена, но введение возможности перегрузить его -- это не менее сильное усложнение сверх того, при этом не несущее никакой практической пользы.

                    Добавлено
                    Цитата D_KEY @
                    Зачем мне от него наследоваться :wacko: ?

                    ну откуда я знаю, вдруг захотелось образовать подтип =)
                      Цитата IL_Agent @
                      Поэтому я не знаю, что будет, если я напишу a = b, не разбирая код кк/оп, если они есть. А в c# - достаточно знать тип.

                      За редким исключением, если a и b не принадлежат одной иерархии и определен implicit operator. Тогда в нем ты можешь вернуть другую ссылку если a и b переменные ссылочных типов, либо вернуть другое значение, если a и b переменные значимых типов.
                      Т.е. знания class это или struct не хватит.
                      Сообщение отредактировано: Red -
                        Цитата korvin @
                        делать оператор присваивания методом -- весьма идиотская затея, необходимости в этом быть в принципе не должно. само добавление оператора присваивания в язык сильно усложняет семантику языка, но это почти всегда оправданная цена, но введение возможности перегрузить его -- это не менее сильное усложнение сверх того, при этом не несущее никакой практической пользы.
                        Странный подход. Ну не хочешь усложнять - не перегружай, вообще не определяй этот оператор. Зачем заранее ограничивать возможности языка исскуственными запретами? Может, поэтому C++ и более распространнён, потому что более гибкий?
                          Цитата korvin @
                          делать оператор присваивания методом -- весьма идиотская затея, необходимости в этом быть в принципе не должно. само добавление оператора присваивания в язык сильно усложняет семантику языка, но это почти всегда оправданная цена, но введение возможности перегрузить его -- это не менее сильное усложнение сверх того, при этом не несущее никакой практической пользы.
                          Это в анналы Мастерова. Шедевр! korvin, какая книжка на этот раз по голове стукнула? В баре бармен наливает бокал пива... тьфу ты... коктейля посетителю. Я говорю "и мне такой же". Бармен мне ответит "извините, нет возможности сделать копию, запрещено Стандартом"? И если нет, то кто знает, как готовить коктейль, я вообще правильно обратился с просьбой, по адресу? Или надо было у посетителя узнать рецептуру и сделать самому? А, ну ещё есть вариант хакнуть бармена паяльником или утюгом и узнать-таки приватные данные фирменного рецепта.
                          Сообщение отредактировано: Qraizer -
                            Цитата Qraizer @
                            Это в анналы Мастерова. Шедевр! korvin, какая книжка на этот раз по голове стукнула? <бред поскипан>

                            а ты как всегда паясничаешь, не понимая предмета

                            http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-23.html#%_sec_3.4

                            начни отсюда
                            Сообщение отредактировано: korvin -
                              Цитата D_KEY @
                              Ты пока этого показать не сумел :'(

                              А ты смог ? :) Как ты вообще хочешь, чтобы я это показал ? Я предлагая пример - мне отвечают, что надо знать стандарт - и никаких проблем. Ну тоже самое и я могу ответить на любую критику.

                              Цитата D_KEY @
                              Я используют тип std::vector<int>::iterator совершенно свободно. А класс он или указатель или еще что-то меня не касается - этот выбор остается за автором.

                              Ты используешь его совершенно свободно, потому что знаешь, как он себя поведёт в тех случаях, когда ты его используешь. Я тоже использую совершенно свободно всё, что знаю.

                              Цитата D_KEY @
                              В случае ссылок это действительно не метод, но ведь в шарпе есть и типы-значения?

                              И с ними он тоже ведёт себя однозначно.
                                Цитата IL_Agent @
                                Ты используешь его совершенно свободно, потому что знаешь, как он себя поведёт в тех случаях, когда ты его используешь. Я тоже использую совершенно свободно всё, что знаю.

                                А как можно что то программировать и незнать как оно работает? :blink:
                                Как ты вообще вызываешь функции, которые понятия не имеешь что делают? Я например, перед тем как использовать незнакомое SDK/функции/классы - всегда читаю документацию по ним, если мне не хватает понять по их идентификаторам и коментариям что эта функция/класс делают... Заметь, никакого кода я не курю, да зачастую его попросту и нет, и оно мне и нафик не нужно, мне достаточно изучить документацию, все. О каких случаях ты говоришь? :wacko:
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (495) « Первая ... 197 198 [199] 200 201 ...  494 495


                                Рейтинг@Mail.ru
                                [ Script execution time: 0.5864 ]   [ 15 queries used ]   [ Generated: 1.08.26, 05:42 GMT ]