На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Закрыто archimed7592 11-03-2008: Лимит страниц. Продолжаем Delphi vs C++

Страницы: (117) « Первая ... 65 66 [67] 68 69 ...  116 117  ( Перейти к последнему сообщению )  
> Delphi vs C++ , Часть 1
    Цитата Smike @
    Годится?

    Годиться только для высокоуровневых абстракций. Для маленьких инструментиков, использующихся очень интенсивно будет слишком большой оверхед из-за, порой, никчёмных виртуальных вызовов.
      Цитата Romkin @
      Цитата Alex Forth @
      int *a;
      int b;
      a+=375-b;
      Если я правильно помню, то такое вычисление значения указателя в делфи невозможно без костылей

      ExpandedWrap disabled
          inc(LongInt(a), 375-b);
      Это не костыль, просто ты объясняешь компилятору, что тебе нужно именно это.

      Ага, наглядно, до одурения :D
      Насколько я понял, это сделано ч-з явное преобразование к LongInt, который по Борландовому стандарту пожизни будет 32-х битовым.
      Добро пожаловать в мир IA64 :P
        Цитата Smike @
        Костыль-не костыль, но задача реализуема.

        О чём я и говорю: инкремент нашё фсйо! :whistle:
          Цитата Орион @
          Цитата (Romkin @ Сегодня, 15:39)
          Через имплементацию интерфейса.

          как именно, приведи пример

          Такой же, как в #1129? Там нет множественного наследования.
          Что-нибудь другое? Ну... Вот реальное:
          ExpandedWrap disabled
             TScale = class(TAutoObject, IScale)
              private
                FScale: IScale;
              protected
                property Scale: IScale read FScale implements IScale;
              public
                procedure Initialize; override;
                destructor Destroy; override;
              end;
             
            destructor TScale.Destroy;
            begin
              FScale := nil;
              inherited;
            end;
             
            procedure TScale.Initialize;
            begin
              inherited;
              FScale := {Создаем класс реализации IScale};
            end;
            Цитата

            Ты уж определись что-то подобное или это


            Я не знаю - не вникал!

            Цитата

            Ну давай, для начала расскажи мне как обойтись без типобезопасности.


            Нет уж, сначала ты расскажи, почему без нее нельзя обойтись :) Я вообще не представляю даже что это такое. И про stream'ы тоже. Так что насчет всего что ты написал - пиши чем оно удобнее и полезнее, а я скажу как без этого обойтись с помощью соотв. sprintf и тому подобного.

            Про cout (что его стандарт "впаривает", а принтф - запрещает) я вообще ничего не считаю, т.к. понятия не имею какой от него смысл. Видимо, он все-таки есть, но опять же, почему без него не обойтись?

            Ну а если и есть такой случай - так замечательно, много нового узнаю и буду юзать в дальнейшем :) итак?
              Цитата FFF1 @
              Нет уж, сначала ты расскажи, почему без нее нельзя обойтись :)

              Потому что printf(i, "%d") при типе i не int, а double, к примеру, приведёт к непредсказуемым последствиям(или для Дельфи это нормально?).

              Добавлено
              И что значит не обойтись? Обойтись можно всегда без чего угодно. Дискретную математику думаю все изучали, так вот, там доказывается что длячего угодно достаточно инкремента(точнее ф-ции, которая возвращает i + 1)...
                Цитата archimed7592 @
                Годиться только для высокоуровневых абстракций. Для маленьких инструментиков, использующихся очень интенсивно будет слишком большой оверхед из-за, порой, никчёмных виртуальных вызовов.

                Покажи мне хоть один виртуальный вызов в моем примере.
                  Цитата Smike @
                  Покажи мне хоть один виртуальный вызов в моем примере.

                  Смайки, ты что, действительно думаешь, что интерфейс - это конструкция, не использующая полиморфизма(виртуальные ф-ции и иже с ними)? :lool:
                    Цитата Alex Forth @
                    Ага, наглядно, до одурения
                    Насколько я понял, это сделано ч-з явное преобразование к LongInt, который по Борландовому стандарту пожизни будет 32-х битовым.
                    Добро пожаловать в мир IA64

                    И на старуху бывает проруха... integer там должен быть <_<
                      Цитата Romkin @
                      Цитата Alex Forth @
                      Ага, наглядно, до одурения
                      Насколько я понял, это сделано ч-з явное преобразование к LongInt, который по Борландовому стандарту пожизни будет 32-х битовым.
                      Добро пожаловать в мир IA64

                      И на старуху бывает проруха... integer там должен быть <_<

                      Ок, пусть будет integer.
                      Тянем этот исходник на аппаратную платформу, где размер указателя и целого различатся.
                      Догадайся, что получится? ;)
                        Цитата archimed7592 @
                        Смайки, ты что, действительно думаешь, что интерфейс - это конструкция, не использующая полиморфизма(виртуальные ф-ции и иже с ними)? :lool:

                        В Delphi — да ;)

                        Добавлено
                        Цитата Flex Ferrum @
                        См. здесь:
                        Форма Бэкуса-Наура

                        Спасибо, изучу.

                        Добавлено
                        Цитата Alex Forth @
                        Тянем этот исходник на аппаратную платформу, где размер указателя и целого различатся.
                        Догадайся, что получится? ;)

                        Integer всегда отражается разрядность архитектуры. В паскале он был 16-битовым.
                          Цитата Smike @
                          Цитата archimed7592 @
                          Смайки, ты что, действительно думаешь, что интерфейс - это конструкция, не использующая полиморфизма(виртуальные ф-ции и иже с ними)? :lool:

                          В Delphi — да ;)

                          Больше никому про это не говори :ph34r:
                          :lool: :lool: :lool:


                          Цитата
                          Integer всегда отражается разрядность архитектуры. В паскале он был 16-битовым.

                          Да ну! А по какому параметру процессора определяется "разрядность архитектуры" ?
                          Сообщение отредактировано: Alex Forth -
                            Цитата Alex Forth @
                            Больше никому про это не говори :ph34r:
                            :lool: :lool: :lool:

                            Ржать вы все мастера. А аргументировать? ;)
                              Цитата Smike @
                              Цитата Alex Forth @
                              Больше никому про это не говори :ph34r:
                              :lool: :lool: :lool:

                              Ржать вы все мастера. А аргументировать? ;)

                              Компилишь пример, дизасемблируешь, изучаешь.
                              Я бы тебе ключевые моменты листинга сбросил, да Делфей нету и ставить их в лом.
                                Цитата Romkin @
                                Что-нибудь другое? Ну... Вот реальное:

                                не то, что имелось ввиду)))) хорошо, смотри: есть класс, который реализует поведение А и класс, который реализует поведение А1, а есть класс, который реализует поведение Б, а есть класс, который реализует поведение С.
                                Тебе нужен класс Х, который реализует поведение А и А1(доступное всем) и поведение Б(доступное наследникам) и поведение С(доступное только классу Х). Как это будет выглядеть в не множественном наследовании?
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (117) « Первая ... 65 66 [67] 68 69 ...  116 117
                                Закрыто archimed7592 11-03-2008: Лимит страниц. Продолжаем Delphi vs C++



                                Рейтинг@Mail.ru
                                [ Script execution time: 0,1113 ]   [ 15 queries used ]   [ Generated: 5.08.25, 21:13 GMT ]