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

Страницы: (117) « Первая ... 24 25 [26] 27 28 ...  116 117  ( Перейти к последнему сообщению )  
> Delphi vs C++ , Часть 1
    Profi, скока раз тебе повторять в чистых плюсах нет VCL и всех его приблуд. Есть они в билдере, в котором на C++ модно написать практически идентичный код. Оно надо? Получение всех членов типа string из класса в C++ сделать почему-то не догадались :D Ибо многие классы, используемые в C++ очень далеки от использования в оконных приложений. Подобного изврата, думаю полно в Qt =))

    Что до мультиязычного приложения, то в плюсах много метод для этого дела. Полистай тему "Windows vs. Linux - Программирование", особливо последние страницы, там большой спор Смайка, Флекса о локализации приложений :)
      archimed7592, я ведь тоже могу код что Flex просил перевести так написать:
      ExpandedWrap disabled
        program Project1;
        {$APPTYPE CONSOLE}
         
        Procedure Handler1;
        begin
          WriteLn('Handler 1 called');
        end;
         
        Procedure Handler2(str:string);
        begin
          WriteLn('Handler 2 called. Passed string: ',str);
        end;
         
        Procedure Handler3(a,b:integer);
        begin
          WriteLn('Handler 3 called. Sum of arguments: ',a+b);
        end;
         
        begin
          Handler1;
          Handler2('Test string 1');
          Handler2('Test string 2');
          Handler3(10,20);
          Handler3(20,30);
          ReadLn;
        end.

      Результат будет тот же:
      ExpandedWrap disabled
        Handler 1 called
        Handler 2 called. Passed string: Test string 1
        Handler 2 called. Passed string: Test string 2
        Handler 3 called. Sum of arguments: 30
        Handler 3 called. Sum of arguments: 50


      Добавлено
      Ладно, отбросим VCL. Прошу перевести:
      ExpandedWrap disabled
        program Project1;
        {$APPTYPE CONSOLE}
        uses
          Variants;
        var
          v1,v2:variant;
        begin
          v1:='25';
          v2:=3+v1;
          Writeln(v2);
          ReadLn;
        end.
        variant со всеми свойствами, которые у него есть можно без особых проблем реализовать в с++... вот тебе перевод:
        ExpandedWrap disabled
          #include <iostream>
          #include <ostream>
          #include <sstream>
          #include <string>
           
          class Int
          {
              int value;
          public:
              Int () : value (0) { }
              Int (int value) : value (value) { }
              Int (std::string str) { std::istringstream (str) >> value; }
              operator int () { return value; }
              friend std::ostream &operator << (std::ostream &s, const Int &rhs) { return s << rhs.value; }
          };
           
          int main ()
          {
              Int v1 ("25");
              Int v2 = 3 + v1;
              std::cout << v2 << std::endl;
           
              return 0;
          }


        Добавлено
        зы. можно написать аналогичный вашему класс variant (такой по-моему уже есть в каких-то com-либах) и точно так же написать #include "variant" :D
          Перевести можно? Можно! На Delphi проще? Проще!
          В общем надоело мне доказывать то, что разницы нет. Что-то проще там, что-то там. Те, кто в этом еще сомневается, учите и C++ и Delphi, и поймете.
            Цитата Profi @
            учите и C++ и Delphi
            похоже, что ты выучил только делфи... :wacko:
              Profi, наф мне Дельфи если я Ц++ знаю? :)
                Цитата archimed7592 @
                похоже, что ты выучил только делфи... :wacko:

                :) Я перевел код Flex'а, ты мой - нет. Отсюда следует, что я знаю С++ лучше чем ты Delphi. С гуру же типа Flex'а я пока тягаться не собираюсь.

                Цитата Мяут @
                Profi, наф мне Дельфи если я Ц++ знаю? :)

                А вот дадут тебе работу, а там надо код из Delphi переписать. Я тоже не собирался C++ учить, но пришлось работать с драйвером на нем написанный. Отлично работает, кстати, с моей программой написанной на Delphi, хоть там и много чего "только C'шного" было.
                  нет, я отлично знаю, что на уровне языка с++ не позволяет динамически ввяснять какие есть проперти\методы\поля в классе... ну и что? ты же задачу полностью не озвучил... а если так хочешь попереводить, переведи _Find, который ты уже однажды неудачно "перевёл"... тебе сказали, зачем нужен этот _Find: универсальная ф-ция поиска в любом контейнере поддерживающем итераторы класса Input (и более функциональные)...
                    Цитата archimed7592 @
                    переведи _Find, который ты уже однажды неудачно "перевёл"...

                    В каком месте я её неудачно перевел? Я же не знаю что за типы _InIt и _Ty& (кстати, тут не ошибка?)?
                      Цитата Profi @
                      Я же не знаю что за типы _InIt и _Ty&
                      _InIt - любой тип. _Ty& сцылка на другой(но не обязательно) любой тип...
                      любой, понимаешь?
                      варианты использования:
                      ExpandedWrap disabled
                        std::vector<int>::const_iterator it = _Find<std::vector<int>::const_iterator, MyInt> (v.beign (), v.end (), 5);
                        std::vector<int>::const_iterator it = _Find<std::vector<int>::iterator, int> (v.begin (), v.end (), MyInt (5));
                        std::vector<int>::iterator it = _Find (v.begin (), v.end (), 5);
                        std::list<MyInt>::const_iterator it = _Find<std::list<MyInt>::const_iterator, MyInt> (v.begin (), v.end (), 5);
                      просто на эти типы накладываются определённые ограничения... :whistle:

                      Добавлено
                      точнее определённые требования :)
                        Цитата archimed7592 @
                        любой, понимаешь?

                        И что? В общем, я надеюсь, что большинство все-таки поняли, что я хотел сказать.
                          угу :)
                          вот када тебе надоест писать по 5-6 конструкторов для разных TXXXList, тогда и ты поймёшь :yes:
                            О нашел!!!
                            На вики пишут:
                            Цитата

                            Delphi — объектно-ориентированный язык программирования с возможностью доступа к метаданным классов (то есть к описанию классов и их членов) в компилируемом коде, также называемом интроспекцией.


                            На чистом С++ (без кодогенераторов типа Trolltechевского moc) такое пожалуй невозможно.
                            Хотя я такую штуку на шаблоны не поменяю :lool:
                            Profi Изучи шаблоны - реально прикольная штука! ;)
                              Alex Forth, дело далеко не в прикольности... :whistle:
                                :offtop:
                                Мне лень перечислять все достоинства шаблонов, потому и написал эмоционально :D
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (117) « Первая ... 24 25 [26] 27 28 ...  116 117
                                Закрыто archimed7592 11-03-2008: Лимит страниц. Продолжаем Delphi vs C++



                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0620 ]   [ 14 queries used ]   [ Generated: 14.08.25, 19:33 GMT ]