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

    имелось ввиду что диапозон 0xD800–0xDFFF для universal-character-name не допустим, а значит и последовательность этих символов недопустима.
      Цитата DEADHUNT @
      имелось ввиду что диапозон 0xD800–0xDFFF для universal-character-name не допустим, а значит и последовательность этих символов недопустима.

      Возможно.
        Цитата Flex Ferrum @
        Ты не понял. Я у тебя про примеры спрашивал. Ты можешь привести примеры последовательностей символов, которые в кавычках недопустимы? И почему они недопустимы?

        На

        Добавлено
        "С триграфами связан один неприятный момент: можно опечататься и получить весьма странное поведение программы. Классический пример опечатки, которая превращается в тригаф, приведен у Герба Саттера. GotW #86: Slight Typos? Graphic Language and Other Curiosities"(с) - там же
          Цитата Цайнэ Кул @
          На

          А где там хоть полслова про недопустимость каких-то символов в строковых литералах?
            Нужно ещё добавить в наш учебник по C++, что запись шестнадцатеричных чисел как кодов символов в escape-последовательности и как просто чисел отличается

            /x30 - код символа в escape-последовательности
            0x30 - целое число 48
              Цитата Цайнэ Кул @
              /x30 - код символа в escape-последовательности

              \x30
                Цитата Flex Ferrum @
                А где там хоть полслова про недопустимость каких-то символов в строковых литералах?

                Ну это и самому можно понять (если человек не дебил):
                Напишите Вы к примеру в коуте "бла-бла-бла??(" и будете приятно (или неприятно? :lol: ) удивлены, когда после компиляции и запуска программы на экране увидите "бла-бла-бла[" :lol:

                -Added
                Цитата DEADHUNT @
                Цитата Цайнэ Кул @
                /x30 - код символа в escape-последовательности

                \x30

                Угу :yes:
                Описка вышла ;)
                  Цитата Цайнэ Кул @
                  Напишите Вы к примеру в коуте "бла-бла-бла??(" и будете приятно (или неприятно? :lol: ) удивлены, когда после компиляции и запуска программы на экране увидите "бла-бла-бла[" :lol:

                  А при чем здесь недопустимость символов? То, что триграфы интерпретируются особым образом еще не значит, что в строковых литералах они недопустимы.
                    Цитата Цайнэ Кул @
                    будете приятно (или неприятно? :lol: ) удивлены, когда после компиляции и запуска программы на экране увидите "бла-бла-бла[" :lol:

                    Спасает только одно, что по дефолту современные компиляторы не выявляют и заменяют триграфы соответствующим им символами пока галку нужную не поставишь :lol:

                    Добавлено
                    Цитата Flex Ferrum @
                    То, что триграфы интерпретируются особым образом еще не значит, что в строковых литералах они недопустимы.

                    Ну короче, нужно в сносочке дать юзеру по рукам, сказав про эту интерпретацию "особым образом" :yes:

                    Чтоб потом не задавал вопросы: "почему я в коуте пишу одно, а на экране вижу совсем другое?" :o

                    Добавлено
                    Цитата Flex Ferrum @
                    А где там хоть полслова про недопустимость каких-то символов в строковых литералах?

                    Просто это может привести к неверной работе программы.
                    Представьте, что у Вас прога анализирует строку и выполняет действия в зависимости от символа в заданном знакоместе.
                    Кодерасту, не знающему про триграфы обеспечено очень много "приятных" минут с отладкой.
                      Цитата Цайнэ Кул @
                      Просто это может привести к неверной работе программы.

                      Недопустимость символа в каком-то месте текста программы и некорректное поведение самой программы - это две совершенно разные вещи.
                        Цитата Flex Ferrum @
                        Недопустимость символа в каком-то месте текста программы и некорректное поведение самой программы - это две совершенно разные вещи.

                        А разве "недопустимость" не обусловлена возможным "некорректным поведением" самой программы? :o
                          Цитата Цайнэ Кул @
                          А разве "недопустимость" не обусловлена возможным "некорректным поведением" самой программы? :o

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

                            Дык оно понятно. Синтаксически правильная программа может быть логически не правильной с точки зрения закладываемой в неё бизнес-логики

                            Добавлено
                            Цитата Цайнэ Кул @
                            Синтаксически правильная программа может быть логически не правильной с точки зрения закладываемой в неё бизнес-логики

                            Потому что программист, писавший программу, ничего не слышал про триграфы
                              Цитата Цайнэ Кул @
                              Вот и скажите это Qraizer-у, который в шоке от того, что оказывается у разных сущностей могут наблюдаться общие свойства
                              Я в шоке от того, что некто даёт определение в духе "арбуз - это такое круглое и сладкое". Видишь ли, у треугольника и ромба тоже много общих свойств.
                              Цитата Цайнэ Кул @
                              А я ярый противник такого подхода. Когда инфа собственно по языку идёт вместе с инфой по собственно проектированию программ.
                              Не надо мешать в одну кучу "мягкое" и "кислое".
                              Ты не понял. Собственно, тебе это твоё непонимание пытаются внушить чуть ли не в каждой твоей теме. Моя фраза об обучению проектированию звучала именно в контексте C++. Т.е. этот язык последние пару стандартов разрабатывался и улучшался именно в сторону поддержки средств проектирования. Без хорошего владения методами проектирования хорошо использовать C++ просто не получится.
                              Вот пример из другой оперы. Многие хорошие C-программеры переходят на C++ и вполне довольны. И их произведениями пользователи тоже довольны. Ничего плохого сказать нельзя. Только у них программы получаются в C-стиле. Бывает, смотришь код и видишь отлично набитую руку профи в программинге, но на "дзеновых" плюсах программа была бы изящнее и проще, красивее и понятнее, сопровождать и улучшать её было бы быстрее и дешевле. Вроде и плюсы, но какие-то... лайт.
                              До нового года мы работали в проекте, где вовсю юзались плюсы. Вы бы видели этот код. Больше половины наших ишуков девелоперами исправлялись так, что мы в ответ писали новые ишуки. А всё почему? Вроде и классы, скрытые данные, публичные интерфейсы, даже кое-где пространства имён. Но индусы умудрились написать так, что за время ~5 лет улучшения и сопровождения код превратился в винегрет. С одной стороны потянешь, пол-процесса перекосит. Новый проект написан на Cях. Но любо-дорого посмотреть! Красивый, надёжный, понятный. А писали опять-таки индусы. Только другие.
                              Так и с проектированием. Грамотно спроектированная программа ложится на плюсы буквально из-под пальцев. Наоборот, без должного проектирования плюсовый код, бывает, смотрится ужасно. Вот компиляцией этого и является та моя фраза. Можно сколько угодно на собеседованиях бросаться терминами RAII, функциональное замыкание, строгая гарантия безопасности итп, фразами "не сто́ит перегружать простые арифметические операторы как методы", "опасно специализировать шаблоны функций, лучше перегружать", "не следует назначать одной функции больше одной роли" итп итд. Но если спросить у такого "а почему, собственно?", то лично я хочу, чтобы он ответил внятно об истинных причинах, а не "меня так учили".
                              Сообщение отредактировано: Qraizer -
                                Цитата Qraizer @
                                Без хорошего владения методами проектирования хорошо использовать C++ просто не получится.

                                Согласен. Но мешать всё в одну кучу (изучение собственно языка /*его лексики, синтаксиса, грамматики и семантики */и изучение методотологии, парадигм и т.п.) не нужно.

                                Давайте всё же "отделять мух от котлет"
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (27) « Первая ... 17 18 [19] 20 21 ...  26 27


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0586 ]   [ 16 queries used ]   [ Generated: 21.07.25, 07:50 GMT ]