На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
[!] Как относитесь к модерированию на этом форуме? Выскажите свое мнение здесь
Модераторы: Qraizer
Страницы: (27) « Первая ... 2 3 [4] 5 6 ...  26 27  ( Перейти к последнему сообщению )  
> Актуальный учебник по С++ , Какой он должен быть?
    Цитата B.V. @
    Сравни вот этот вот ужас

    А ужас то в чем?
      Цитата Flex Ferrum @
      А ужас то в чем?


      В использовании std::for_each, ибо в C++ нет нативной конструкции for each.
        Цитата B.V. @
        В использовании std::for_each, ибо в C++ нет нативной конструкции for each.

        Т. е. если я напишу так:
        ExpandedWrap disabled
              std::sort(arr.begin(), arr.end());

        а потом
        ExpandedWrap disabled
              int* p = std::find(arr.begin(), arr.end(), 3);

        ужаса не будет?
          Цитата B.V. @
          В использовании std::for_each, ибо в C++ нет нативной конструкции for each.

          Хм, и что такого в std::for_each? :)
          В java тоже если не импортировать пакеты сразу то нужно писать
          ExpandedWrap disabled
            java.util.Arrays.deepEquals(aar1, arr2)
          , только один лишь пакет java.lang не нужно импортировать, или писать подобные конструкции, а так везде или подобные конструкции или импорт, подобно директиве using в С++.

          Как же нет конструкции for each, если она официально входит в стандартную библиотеку, просто нужно нучить человека ее использовать и все. Прошли давно те времена когда STL была отделима от С++ теперь это одно целое, жаль авторы многих учебно-методических пособий по С++ просто этого до сих пор не понимают :(.
            Flex, я тебя не понимаю. Ты просил показать, почему я называю некоторые вещи в STL затычками. Я тебе показал. Чего ж ещё не ясно-то?

            Цитата MumiyTroll2008 @
            Как же нет конструкции for each, если она официально входит в стандартную библиотеку


            МумийТроль, for_each -- всего лишь функция в алгоритмах. А конструкции "for each" в C++ не было и нет.
              Цитата B.V. @
              Ты просил показать, почему я называю некоторые вещи в STL затычками. Я тебе показал. Чего ж ещё не ясно-то?

              На что, в свою очередь, я пытаюсь показать, что то, что ты считаешь затычками, при ближайшем рассмотрении оказывается системным подходом - раз, и является гораздо более гибким - два. ;) Потому как foreach, как конструкция, не сможет обойти контейнер в обратном порядке, например. ;)
                Цитата Flex Ferrum @
                Потому как foreach, как конструкция, не сможет обойти контейнер в обратном порядке, например


                И не должна ;) for each переводится как "для каждого". И все тут. Не сказано в каком порядке. В этом и отличие от for, который порядок обхода задает явно. При использовании for each порядок волновать не должен.
                  Цитата --Ins-- @
                  И не должна ;) for each переводится как "для каждого". И все тут. Не сказано в каком порядке. В этом и отличие от for, который порядок обхода задает явно.

                  Это я в качестве примера привел. А предположим, что итератор - фильтрующий, и (в итоге) цикл отработает, как "для каждого нечетного".

                  Добавлено
                  Ну, либо так:
                  ExpandedWrap disabled
                    bool IsPositive(int x) {return x > 0;}
                     
                      typedef boost::filter_iterator<IsPositive, int*>
                        FilterIter;
                     
                      std::for_each(FilterIter(arr.begin(), arr.end()), FilterIter(arr.end(), arr.end()), std::cout << _1 << "\n");

                  Будут обработаны только положительные числа. А конструкция будет прочитана как "для каждого положительного числа".
                    Цитата Flex Ferrum @
                    Собственно, какие разделы там могли бы быть?
                    1. Основы. Классы, алгоритмы, работа с данными, файлами.
                    2. Разработка пользовательского интерфейса (можно на базе Qt, например)
                    3. Работа с БД (тоже Qt, как вариант)
                    4. Работа с сетью (Qt/boost::asio)
                    5. Многопоточность (Qt threads/boost::threads)


                    ну даже можно так, причем первый пункт на основе буст/стл.
                    проблема многих
                    учебников по с++ , что там мало уделено времени на такие вещи как
                    пункты 2-5, хотя для начинающих более важно пройти (не особо глубоко) эти пункты, а не глубоко разбирать каждую мелочь в языке как у страуструпа.

                    Добавлено
                    B.V., шаблоны -это совершенно другой способ разработки по, аналогов которого нет в других языках.
                    Да, он сложный, но возможностей у него поболее будет чем у стандартного полиформизма.
                      Цитата Flex Ferrum @
                      системным подходом


                      Называй это как хочешь, от этого ничего не поменяется :)

                      Цитата impik777 @
                      шаблоны -это совершенно другой способ разработки по, аналогов которого нет в других языках


                      Да что ты говоришь? А те же дженерики ты за анлог не считаешь?

                      Цитата impik777 @
                      Да, он сложный, но возможностей у него поболее будет


                      Ой, даже комментировать не стану. И вообще, тут не холивары, вроде
                        Цитата B.V. @
                        А те же дженерики ты за анлог не считаешь?

                        конечно нет, ибо сам наткнулся на то что не могут сделать дженерики, но могут шаблоны :(

                        Добавлено
                        Цитата B.V. @
                        Ой, даже комментировать не стану.

                        книжку александреску почитай, я сам не понимал недавно.
                          Цитата B.V. @
                          Да что ты говоришь? А те же дженерики ты за анлог не считаешь?

                          Нифига не аналог. Даже близко. Разве что Turbo C++ 3.1 на их уровне будет. Подставить типы и наплодить сырцов - с этим и препроцессор справится.
                            Все так это, народ, ближе к теме. Хочется сравнить generic'и с шаблонами - пойдемте лучши в холивары.
                              Flex Ferrum, как ты считаешь, как широко в таком букваре должны быть освещены STL и boost?
                                kanes, ИМХО, примеры часто встречающихся прикладных задач и их решения на буст/стл
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (27) « Первая ... 2 3 [4] 5 6 ...  26 27


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0429 ]   [ 15 queries used ]   [ Generated: 19.07.25, 11:16 GMT ]