
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.218] |
![]() |
|
Страницы: (27) « Первая ... 17 18 [19] 20 21 ... 26 27 ( Перейти к последнему сообщению ) |
Сообщ.
#271
,
|
|
|
имелось ввиду что диапозон 0xD800–0xDFFF для universal-character-name не допустим, а значит и последовательность этих символов недопустима. |
Сообщ.
#272
,
|
|
|
Цитата DEADHUNT @ имелось ввиду что диапозон 0xD800–0xDFFF для universal-character-name не допустим, а значит и последовательность этих символов недопустима. Возможно. |
![]() |
Сообщ.
#273
,
|
|
Цитата Flex Ferrum @ Ты не понял. Я у тебя про примеры спрашивал. Ты можешь привести примеры последовательностей символов, которые в кавычках недопустимы? И почему они недопустимы? На Добавлено "С триграфами связан один неприятный момент: можно опечататься и получить весьма странное поведение программы. Классический пример опечатки, которая превращается в тригаф, приведен у Герба Саттера. GotW #86: Slight Typos? Graphic Language and Other Curiosities"(с) - там же |
Сообщ.
#274
,
|
|
|
Цитата Цайнэ Кул @ На А где там хоть полслова про недопустимость каких-то символов в строковых литералах? |
![]() |
Сообщ.
#275
,
|
|
Нужно ещё добавить в наш учебник по C++, что запись шестнадцатеричных чисел как кодов символов в escape-последовательности и как просто чисел отличается
/x30 - код символа в escape-последовательности 0x30 - целое число 48 |
Сообщ.
#276
,
|
|
|
Цитата Цайнэ Кул @ /x30 - код символа в escape-последовательности \x30 |
![]() |
Сообщ.
#277
,
|
|
Цитата Flex Ferrum @ А где там хоть полслова про недопустимость каких-то символов в строковых литералах? Ну это и самому можно понять (если человек не дебил): Напишите Вы к примеру в коуте "бла-бла-бла??(" и будете приятно (или неприятно? ![]() ![]() -Added Цитата DEADHUNT @ Цитата Цайнэ Кул @ /x30 - код символа в escape-последовательности \x30 Угу ![]() Описка вышла ![]() |
Сообщ.
#278
,
|
|
|
Цитата Цайнэ Кул @ Напишите Вы к примеру в коуте "бла-бла-бла??(" и будете приятно (или неприятно? ![]() ![]() А при чем здесь недопустимость символов? То, что триграфы интерпретируются особым образом еще не значит, что в строковых литералах они недопустимы. |
![]() |
Сообщ.
#279
,
|
|
Цитата Цайнэ Кул @ будете приятно (или неприятно? ![]() ![]() Спасает только одно, что по дефолту современные компиляторы не выявляют и заменяют триграфы соответствующим им символами пока галку нужную не поставишь ![]() Добавлено Цитата Flex Ferrum @ То, что триграфы интерпретируются особым образом еще не значит, что в строковых литералах они недопустимы. Ну короче, нужно в сносочке дать юзеру по рукам, сказав про эту интерпретацию "особым образом" ![]() Чтоб потом не задавал вопросы: "почему я в коуте пишу одно, а на экране вижу совсем другое?" ![]() Добавлено Цитата Flex Ferrum @ А где там хоть полслова про недопустимость каких-то символов в строковых литералах? Просто это может привести к неверной работе программы. Представьте, что у Вас прога анализирует строку и выполняет действия в зависимости от символа в заданном знакоместе. Кодерасту, не знающему про триграфы обеспечено очень много "приятных" минут с отладкой. |
Сообщ.
#280
,
|
|
|
Цитата Цайнэ Кул @ Просто это может привести к неверной работе программы. Недопустимость символа в каком-то месте текста программы и некорректное поведение самой программы - это две совершенно разные вещи. |
![]() |
Сообщ.
#281
,
|
|
Цитата Flex Ferrum @ Недопустимость символа в каком-то месте текста программы и некорректное поведение самой программы - это две совершенно разные вещи. А разве "недопустимость" не обусловлена возможным "некорректным поведением" самой программы? ![]() |
Сообщ.
#282
,
|
|
|
Цитата Цайнэ Кул @ А разве "недопустимость" не обусловлена возможным "некорректным поведением" самой программы? ![]() Нет. В данном случае - нет. Потому что программа может быть совершенно корректной с точки зрения языка. |
![]() |
Сообщ.
#283
,
|
|
Цитата Flex Ferrum @ Нет. В данном случае - нет. Потому что программа может быть совершенно корректной с точки зрения языка. Дык оно понятно. Синтаксически правильная программа может быть логически не правильной с точки зрения закладываемой в неё бизнес-логики Добавлено Цитата Цайнэ Кул @ Синтаксически правильная программа может быть логически не правильной с точки зрения закладываемой в неё бизнес-логики Потому что программист, писавший программу, ничего не слышал про триграфы |
![]() |
Сообщ.
#284
,
|
|
Цитата Цайнэ Кул @ Я в шоке от того, что некто даёт определение в духе "арбуз - это такое круглое и сладкое". Видишь ли, у треугольника и ромба тоже много общих свойств.Вот и скажите это Qraizer-у, который в шоке от того, что оказывается у разных сущностей могут наблюдаться общие свойства Цитата Цайнэ Кул @ Ты не понял. Собственно, тебе это твоё непонимание пытаются внушить чуть ли не в каждой твоей теме. Моя фраза об обучению проектированию звучала именно в контексте C++. Т.е. этот язык последние пару стандартов разрабатывался и улучшался именно в сторону поддержки средств проектирования. Без хорошего владения методами проектирования хорошо использовать C++ просто не получится.А я ярый противник такого подхода. Когда инфа собственно по языку идёт вместе с инфой по собственно проектированию программ. Не надо мешать в одну кучу "мягкое" и "кислое". Вот пример из другой оперы. Многие хорошие C-программеры переходят на C++ и вполне довольны. И их произведениями пользователи тоже довольны. Ничего плохого сказать нельзя. Только у них программы получаются в C-стиле. Бывает, смотришь код и видишь отлично набитую руку профи в программинге, но на "дзеновых" плюсах программа была бы изящнее и проще, красивее и понятнее, сопровождать и улучшать её было бы быстрее и дешевле. Вроде и плюсы, но какие-то... лайт. До нового года мы работали в проекте, где вовсю юзались плюсы. Вы бы видели этот код. Больше половины наших ишуков девелоперами исправлялись так, что мы в ответ писали новые ишуки. А всё почему? Вроде и классы, скрытые данные, публичные интерфейсы, даже кое-где пространства имён. Но индусы умудрились написать так, что за время ~5 лет улучшения и сопровождения код превратился в винегрет. С одной стороны потянешь, пол-процесса перекосит. Новый проект написан на Cях. Но любо-дорого посмотреть! Красивый, надёжный, понятный. А писали опять-таки индусы. Только другие. Так и с проектированием. Грамотно спроектированная программа ложится на плюсы буквально из-под пальцев. Наоборот, без должного проектирования плюсовый код, бывает, смотрится ужасно. Вот компиляцией этого и является та моя фраза. Можно сколько угодно на собеседованиях бросаться терминами RAII, функциональное замыкание, строгая гарантия безопасности итп, фразами "не сто́ит перегружать простые арифметические операторы как методы", "опасно специализировать шаблоны функций, лучше перегружать", "не следует назначать одной функции больше одной роли" итп итд. Но если спросить у такого "а почему, собственно?", то лично я хочу, чтобы он ответил внятно об истинных причинах, а не "меня так учили". |
![]() |
Сообщ.
#285
,
|
|
Цитата Qraizer @ Без хорошего владения методами проектирования хорошо использовать C++ просто не получится. Согласен. Но мешать всё в одну кучу (изучение собственно языка /*его лексики, синтаксиса, грамматики и семантики */и изучение методотологии, парадигм и т.п.) не нужно. Давайте всё же "отделять мух от котлет" |