1. C++ / Говнокод #14295

    +18

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    #include <iostream>
    
    #define PRINT(val) std::cout << #val \
                                 << " value: " << val \
                                 << " address: " << &val << std::endl; 
    int& constRef(){
        int var = 10;
        PRINT(var)
        return var;
    }
    
    int main() {
       const int a = 'a', b = 'bcde';
       std::cout << a << " " << b << std::endl;
       const int& ref = constRef();  
       PRINT(ref)  
    }

    Малоизвестный синтаксис плюсов.
    1. Инициализация целочисленного значения из строки (используется в строках-классах времени компиляции).
    2. Константная ссылка на стековый объект (используется для создания DSL, в т.ч. boost::spirit).
    P.S.: Более полный вариант со строками лежит на форуме.

    Запостил: crastinus, 28 Декабря 2013

    Комментарии (303) RSS

    • > Инициализация целочисленного значения из строки

      Где? В какой строке? Все что у тебя в ГК есть это char'ы многобайтовые.

      > Более полный вариант со строками лежит на форуме.

      -1
      Ответить
      • >Где? В какой строке? Все что у тебя в ГК есть это char'ы многобайтовые.

        mpl::string<'abcd','efgh'> string; //mpl::string<int,int,...>
        std::cout << mpl::c_str<string> << std::endl; //=>abcdefgh

        >-1
        Есть приемущества ( код не рвет ленту ГК).
        Ответить
        • 'abcd' - не строка. Это - multicharacter literal, который на самом деле int. Причем то, как символы будут в него упакованы, стандартом не оговаривается: "A multicharacter literal has type int and implementation-defined value."

          В общем для любителей походить по граблям... Чем их mpl::string<'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'> то не устроило?
          Ответить
          • > Это - multicharacter literal, который на самом деле int
            вау, этого я не знал. это что, получается, любую строку можно запаковать в 5 байт в int?
            Ответить
            • Почему в пять? Терминатор нинужен.

              В gcc вот так (с точностью до endianess):
              'ab' -> 00 00 61 62
              'abcd' -> 61 62 63 64
              'abcde' -> 62 63 64 65 (проебали символ)
              Ответить
              • а если там 16Гб символов?
                Ответить
                • Останется только один четыре по количеству байт в int'е на данной платформе. Но все что я пишу относится только к gcc. Другие компиляторы могут иметь другие способы упихать ужа в ежа. Implementation-defined все-таки.

                  P.S. Кстати, если исходник в utf-8, то русские буквы в духе 'ъ' тоже являются multicharacter literal со всеми вытекающими последствиями...
                  Ответить
                  • какое-то говно этот ваш С++, пусть и в 11ой редакции...
                    даже в жабе уже двубайтового char не хватает для юникода, та что еще ввели понятие кодовых меток... (code charpoint или как там)
                    Ответить
                    • Ну так C++ и был мертворожденным. Это как та собачка из нечто - ее кормят. холят, лилеют, а она становиться только больше и страшнее
                      Ответить
                      • ну полноценное ООП я только в жабе нашел, даже в С++ это были костыли типа дружественных функций... они даже не заявляли, что функция - полноценный тип...
                        и вообще, почти идеал - это lua
                        Ответить
                        • А чем плохи свободные функции? Мне вот в яве их очень не хватает. Приходится пихать хелперы в специальный бесполезный класс, хотя, имхо, достаточно было бы засунуть их в пакет\неймспейс.
                          Ответить
                        • P.S. Друзяшки в c++ это же всего лишь аналог жабьего package private. Когда хочется некоторым внутренним классам\функциям дать чуточку больше взаимодействия друг с другом, но выносить нужные им методы в паблик нежелательно. И нарушают инкапсуляцию они ничуть не больше, чем package private (имхо, даже меньше, т.к. в жабе все классы, лежащие в одном пакете, видят кишки друг друга).
                          Ответить
                          • Друзяшки нужны только для сериализации.
                            По идее оператор сериализации должен быть частью любого типа, как и оператор инициализации, финализации, копирования, перемещения.
                            Кстати вроде в Аде так.
                            Ответить
                            • В крестах "оператор сериализации" сбоку прикручен :) Это вообще битовый сдвиг...
                              Ответить
                            • > должен быть частью любого типа
                              Ну тогда в стандарт придется писать еще и формат сериализации. Причем строго, вплоть до endianess и каждого бита в нем. И никаких implementation defined. Иначе толку от этой сериализации никакого.

                              Зато с внешним оператором можно спокойно делать несколько разных форматов - например в лог, в проприетарный двоичный формат, в ASN.1 и в XML. Достаточно описывать оператор для нужного стрима и типа (да, я осознаю, что это M*N, если не читерить).
                              Ответить
                              • Можно начать хотя бы со стандартизации вызова методов. Запилить RTTI стандартный, а за ним и другую рантайм информацию, типа стека. Добавить finally к обработчикам исключений. Как следствие стандартизации вызова методов и вбрасывания исключений прийдется вводить обязательний сборщик мусора. И, поскольку прямой доступ ка памяти станет ненужным, его можно будет удалить. Чтобы шаблоны могли пользоваться новым форматом сериализации, их нужно будет раскрывать компилятором, а не препроцессором. Препроцессор можно будет выбросить и расширить возможности компилятора / стандартной библиотеки. Глядя на то, как синтаксис непомерно разростается и при этом по прежнему не удовлетворяет современным запросам, синтаксис нужно будет пересмотрет и унифицировать.
                                Но весь этот болезненный и трудоемкий процесс можно сэкономить!
                                Ответить
                            • > друзяшки
                              если ты их использовал только для сериализации, это не значит, что они нужны только для сериализации
                              Ответить
                          • > все классы, лежащие в одном пакете, видят кишки друг друга
                            кроме private
                            Ответить
                        • > ну полноценное ООП я только в жабе нашел

                          Какая-то лажа с зеленым цветом. В Яве? Полноценное ООП? Если уж на то пошло, то в Яве - очень ограниченное ООП. При чем ограничения были внесены в надежде упростить, но, как обычно, получилось, что только запутали.
                          Ответить
                          • но в С++ точно только огрызки
                            Ответить
                            • ХЗ. Они оба принципиально так далеко от изначальной идеи, что как-то сложно судить. ОО задумывался как механизм для динамической пересылки сообщений нужных для представления состояния программы на протяжении ее жизни.
                              То для чего объекты используются в обоих языках лучше характеризуется как "пакеты" или "модули", тот факт, что они по сути объекты очень часто вообще игнорируестся (в теории объект без полей не нужен / не имеет смысла, а статические поля, или методы - просто апокрифический бред).
                              Ответить
                              • > механизм для динамической пересылки сообщений
                                smalltalk?
                                Ответить
                                • Вот есть хорошая табличка:
                                  в образовательных целях
                                  |                              | History   | Tragedy   | Farce      |
                                  |------------------------------+-----------+-----------+------------|
                                  | Object-orientation           | Simula    | Smalltalk | Java       |
                                  | Nested object languages      | Simula    | BETA      | Scala      |
                                  | Smalltalk languages          | Smalltalk | Self      | Newspeak   |
                                  | Systems languages            | BCPL      | C         | C++        |
                                  | Wirth languages              | Pascal    | Modula    | Oberon     |
                                  | Lisp languages               | LISP      | Scheme    | CommonLisp |
                                  | ML languages                 | ML        | O’CAML    | F♯         |
                                  | Languages beginning with “C” | C         | ANSI C    | C++        |
                                  | C++ languages                | C++       | C+@       | C♯         |
                                  | C♯ languages                 | C♯1.0     | C♯2.0     | C♯ 3.0     |
                                  | BASIC languages              | BASIC     | VB        | VB.net     |
                                  | Orthogonal languages         | Algol-68  | PL/I      | Scala      |
                                  | Computer Companies           | DEC       | Sun       | Oracle     |
                                  | Haskell                      | Haskell   | Haskell   | Haskell    |
                                  Ответить
                                  • и почему джава фарс?
                                    Ответить
                                    • Переход на Ц++ был в некоторых случаях трагедией, т.как ради него нужно было отказаться от лучших, но менее модных языков, так же нужно было пожертвовать модульной инфраструктурой, потерять в производительности, объеме рантайма и системных требованиях.
                                      Ява - фарс потому, что большинство концепций языка происходят от непонимания этих концепций авторами языка. Кроме того, если, например, создателям Ц++ было простительно не знать о передовых достижениях в области теоретической информатики (все-таки интернетов еще не было, книжки публиковались долго и небольшими тиражами). У создателей Явы не было никаких отмазок. Они просто пургу какую-то сочинили. Ява - это своего рода эпогей развития программирования вопреки лучшим достижениям в области, максимально в угоду профанам. Примерно как открытки с пушистыми котиками и сердечками с энгревом золотой фольгой по сравнению с картинами... ну, например, Мунка.
                                      Т.е. создателям языка нельзя отказать в мастеровитости, но такой махровый китч далеко не каждый сможет сделать, даже если окончательно совесть пропить - все равно через какое-то время тошнить начнет.
                                      Ответить
                                      • давай по делу... что не так по ООП в джаве?
                                        Ответить
                                        • Ну, во-первых, Ява взялась реализовать все как объекты. Это примерно как готовить всю еду исключительно из кукурузы.
                                          Во-вторых, Ява все-таки не реализовала несколько очень нужных сущностей как объекты. И этому нет никакого оправдания кроме лени разработчкиков.
                                          Ява заставляет объявлять методы специализирующиеся на объекте вместе с самим объектом, чем многократно затрудняет создание модульных приложений. Но это не просто комично, а именно фарс потому, что ОО задумывалось и рекламировалось как инструмент для решения этой проблемы! В Яве есть статические и финальные поля и методы - вещь сама по себе абсурдная. Объекты по задумке несут в себе состояние - если состояние не должно менятся, тогда оно тривиальное! Нахера его записывать в объект? Ява не пользуется (практически никогда) динамической резолюцией методов. 99% Ява кода использующего ОО возможности по сути является просто полиморфными функциями, конкретные реализации которых компилятор разрулил еще до того, как программа была выполнена. Это верх идиотизма, т.как ОО нужен для того, чтобы динамически находить приемников событий. Если приемники можно найти статически - ОО не нужен, можно воспользоваться обычными функциями.

                                          Ситуацию усугубляет еще тото факт, что Ява преподается и рекламируется, и не в последную очередь через академические источники, тем самым валидируя это историческое недоразумение. Человеку без хорошей теоретической базы даже в голову не приходит на сколько в ней все сделано шиворот-навыворот, просто потому, что с первого взгляда система рабочая и справляется с поставленными задачами.
                                          Это еще чем-то напоминает ситуацию с приверженцами Птолемея и Коперника: поскольку мы можем принять любую точку в пространстве за начало координат, то и в каком-то смысле, система Птолемея тоже верна, и для жителей земли она во многом удобна, но в глобальном плане рассчитывать траектории небесных тел исходя из такой позиции - был бы ад. Вот и Ява так же, она работает для сиюминутных потребностей...
                                          Ответить
                                          • А так же о шарпе могешь? Плииииз)

                                            И что является труъ ооп языком?
                                            Ответить
                                            • :/ Это практически один и тот же язык +- пару модных фич.

                                              Тру ОО языков не бывает, так же как не бывает настоящей страны, производящей всю пищевую продукцию из кукурузы. Ну, или, это будет как в Северной Корее.
                                              Ответить
                                              • хорошо про шарп сказано. но таки не совсем.

                                                >>Тру ОО языков не бывает

                                                А так и быть не может. ООП - это не база, как МТ у императивных и лямбда исчесление у функциональщины. Это парадигма, собирающая в кучку все, что уже было до нее, но в более удобном виде. ООП - ну ни как не идет на роль панацеи. Это прежде всего средство командной разработки и упрошения кода за счет модульности. Говорить, что нет тру ооп, это как говорить, что нет тру золотых яиц и приэтом считать, что обычные куриные тоже хавать нельзя. Так то и тру функциональшины нет. Да вообще ничего тру нет(
                                                Ответить
                                                • Моя позиция такая, что АПИ самого языка не должен основываться на объектах. Объекты - это только небольшая часть всего набора инструментов программиста. Такая же, как, например, события, или регулярные выражения. Возможно, для каких-то конкретных случаев, где язык не предполагается дополнять и развивать (например, браузерные скрипты, или скрипты обслуживающие какие-нибудь программы, где программирование не является приоритетной задачей), можно и встроить. В языках общего назначения - библиотекой / модулем. Так чтобы захотелось объектов - импортируешь и используешь. Захотелось монад - аналогично.
                                                  В Перле, на сколько я знаю, так.
                                                  Ответить
                                                  • хм. Тут соглашусь.

                                                    Но все же я считаю, что ооп очень удобно, а его присутствие не снижает возможностей. Нет принципиального отличия между программой-блобом и программой без ооп, но встроенное ооп позволяет сделать использование классов более удобным, интуитивно понятным
                                                    Ответить
                                              • Пыхтон?
                                                Ответить
                                              • Толсто! (
                                                Ответить
                                          • > если состояние не должно менятся, тогда оно тривиальное! Нахера его записывать в объект.
                                            Ну вот это зря... А куда его еще записывать, если оно у каждого объекта разное, и просто не меняется за всю жизнь объекта?.
                                            Ответить
                                            • Если еда уже готова, то готовить ее не нужно, нахера покупать печку и рубить гектар леса на дрова?
                                              Ответить
                                          • > статические и финальные поля и методы - вещь сама по себе абсурдная
                                            А вот про статики согласен. По сути класс со статиками это тот же пакет, только убогий, т.к. его нельзя импортнуть, и всегда надо упоминать его имя. Ничего нового, по сравнению со свободными переменными и функциями статики не дают.

                                            Ну разве что модификаторы доступа (public/private), но их вполне можно было добавить и к свободным функциям. У классов же они есть в джаве.
                                            Ответить
                                            • >> Ничего нового

                                              А что принципиально нового принесло ооп?
                                              Ответить
                                              • Вроде как open-closed принцип и выделение состояния в объекты.
                                                Ответить
                                                • open-closed имхо, как и любой принцип solid, является предписанием - как на этом кодить? С тем же успехом можно сказать, что ооп принесло паттерны ооп.

                                                  >>выделение состояния в объекты
                                                  структуры были и до ооп
                                                  Ответить
                                                  • > структуры были и до ооп
                                                    И инкапсуляция была, и полиморфизм был. Ооп просто собрало все это в кучу и поперчило наследованием.

                                                    А вот наследование это как раз чит, ничего нового не дающий.
                                                    Ответить
                                                    • > А вот наследование это как раз чит, ничего нового не дающий.
                                                      а чаще отнимающий
                                                      Ответить
                                                    • Об этом я и говорил.

                                                      + Наследование используется довольно редко
                                                      Ответить
                                          • Окей, а с каким языком тогда вы посоветуете познакомиться, чтобы понять почему Жаба так ущербна?
                                            Ответить
                                            • Perl 6 или Хаски

                                              После них все тлен
                                              Ответить
                                            • Нужно читать тематическую литературу. Как правило вместе с литературой будут примеры на каком-то языке. Это не значит, что язык выбраный для примера во всем лучше, но как правило он лучше для иллюстрации идеи автора.
                                              Лисп удобно использовать в таком контексте, потому, что можно смоделировать практически все, что угодно.
                                              Много тематической литературы использует Хаскелл и ОКамл / СМЛ, но чаще это языки разработанные специально для задачи, типа той же Ко-меги.
                                              Селф очень часто используется как модель ОО языков в контексте исследований.
                                              Ответить
                                    • И только ассемблер вечен...
                                      Ответить
                                      • Все началось ассемблером, и закончится им.
                                        Ответить
                                  • Таблица всё абсолютно правильно говорит. Плавечно, но это правда.

                                    Я бы заменил CommonLisp на EmacsLisp.

                                    И добавил
                                    | Backward compability | Python | Python 2 | Python 3 |

                                    | Languages with “C” | C | C++ | Objective C
                                    Ответить
                                    • Ну Эмакс Лисп как бы создавался без претензий на высокие материи. Он даже, можно сказать, один из немногих языков, которые действительно улучшились со временем (у меня ни одно из нововведений не вызывало нареканий). Но, конечно, это не делает его более серьезным языком.
                                      Я думаю, что автор невзлюбил CL за то, что он моложе Схемы, но сделан вопреки улучшениям уже продуманым в Схеме. На сколько я понимаю, историческая позиция тех, кому хотелось CL была в том, что Схема сделала много привычных вещей меганеудобными. Гигиенические макросы - очень сомнительной полезности вещь (все равно большинство продвинутых схемеров так или иначе пишут себе аналог defmacro). Ненужная строгость в работе базовых функций: car / cdr и т.д. (нужно все время проверять на null) делает код очень многословным. Опять же отказ от мутабельности ухудшил многие алгоритмы (обменять два элемента в списке местами, например).
                                      CL же, с другой стороны, вместо того, чтобы воспользоваться хорошими вещами, типа того же call/cc скопировал один в один ошибки предыдущих версий, иногда внося совсем уж косметические изменения. Уже во время стандартизации, это был шаг назад. Ну и последующая история (никакого) развития тоже подбросила дров в огонь.
                                      В CL есть много хороших не реализованых задатков, но развитие практически остановилось, и это печально.
                                      Ответить
                              • >апокрефический бред
                                С вас галоперидол, сэр.
                                http://coliru.stacked-crooked.com/a/70c10e0f0e8c150e
                                Ответить
                    • > даже в жабе уже двубайтового char не хватает для юникода
                      Для юникода в крестах есть вменяемый (ну ок, трудно назвать вменяемой ситуацию, когда в вижуалке он 2 байта, а в gcc 4, и существуют еще некоторые другие проблемы) wchar_t, и его литералы обозначаются как L'ъ'. А на multicharacter literal то же гцц ругается ворнингом.
                      Ответить
                      • то есть ради справедливости, признаем, что реалии ломают стандарты, и везде приходится выкручиваться
                        Ответить
                        • Кодировки. Время. Порядок байт в числах... Такое ощущение, что повторяется история Вавилонской башни.
                          Ответить
                          • такое ощущение, что мы ее (настоящую,в библейское время) строили вместе
                            Ответить
                            • Так и вижу - все на стройке. Борманд важно раскручивает пергамент с планом, Люр проверяет блоки, привезенные для стоительства, Лисп Какашкин плетью бьет рабов - анонимба и стетора. А я сижу на камне и ем пирог
                              Ответить
                              • > А я сижу на камне и ем пирог
                                нихуя, ты отвечаешь за слаженность рабов
                                Ответить
                              • Мы со стертым не сишкоблядствуем.
                                Ответить
                                • Потому и развалилась
                                  Ответить
                                  • Развалилась из-за гомосексуальностинедальновидности начальства; войско львов, возглавляемое бараном проиграет войску баранов, возглавляемому львом.
                                    Ответить
                                    • чувак, чувствую ты старктафт так и не прошел
                                      Ответить
                                      • Кто, я? Я вообще на компе в игры не играю. Когда-то давно прошел готику 1,2,3,Risen, Dreamkiller, GRID2. Больше не играю.
                                        Ответить
                                        • Risen 3 вышел в прошлом году. А старкрафт в 1998
                                          Ответить
                                          • Risen 3 дерьмоигра, точно так же, как и готика 4/5.
                                            Ответить
                                        • Да и вообще готика это "морровинд для петушков"
                                          Ответить
                                          • Ну, меня в свое время возбуждало. Вообще, моя родная платформа - SEGA. У меня приставка появилась уже в старшем возрасте, компа тогда еще у меня не было. Я посмотрел множество игр, особенно понравились Phantasy Star 3: Generations of doom,Prince of Persia, Comix Zone. Принца я сделал бессмертным, подобрав особый пароль: удары стражника перестали снимать жизни, но падать стало опасно, так как при этом игра висла.
                                            Ответить
                                          • > морровинд для петушков
                                            Нифига себе наезд. Зеленым нужно было.
                                            Ответить
                                            • >> морровинд для петушков
                                              > Нифига себе наезд. Зеленым нужно было.
                                              подтверждаю. даже скайрим вполне
                                              Ответить
                                              • люди, я как бы написал

                                                >> готика это "морровинд для петушков"

                                                то есть

                                                Готика - это тот же морровинд, но для петушков
                                                Ответить
                                                • в готику не играл, в дум не играл, в квейк не играл, в контру - не играл.
                                                  Ответить
                                                  • а в фаллаут?
                                                    Ответить
                                                    • Фаллаут у меня ассоциируется с чем-то фаллическим. Нет, не играл.
                                                      Ответить
                                                    • > а в фаллаут?
                                                      только 2ой.
                                                      а так: Gish, Alens vs Predator 2, Silent Hill 4, Bloodrayne 2, Vampire the Masquerade - Bloodlines, ну и куча хентайных типа nocturnal illusion (кстати, плакал как ребенок, хотел купить книгу у автора)
                                                      ну и куча спектрумных типа nether earth, space crusade, stop the ita express, нло-2
                                                      Ответить
                                                      • что за нло-2 не Уфошка ли?)
                                                        Ответить
                                                        • бля, даже видео удалили, только саунтрек нашел, если найду, запощу видео. а пока
                                                          http://ololo.fm/search/Zx+Spectrum+-+Copper+Feet/Ufo+2+Intro
                                                          Ответить
                                                          • а ты в курсе что ремейк вышел?

                                                            X-com: enemy unknown и дополнение enemy within
                                                            Ответить
                                                            • это не ремейк, это предки
                                                              Ответить
                                                              • > это не ремейк, это предки
                                                                Внезапно, но это не предки, это ремейк :)

                                                                Предок был, емнип, UFO: enemy unknown.
                                                                Ответить
                                                                • > Предок был, емнип, UFO: enemy unknown.
                                                                  глубже: x-com
                                                                  Ответить
                                                                  • Первая часть называлась UFO: enemy unknown
                                                                    Зуб даю
                                                                    Ответить
                                                                    • а, первая, да. но она не вызвала того восторга, т.к. херово копирова одноименную игру, вроде бы, с амиги (никогда в глаза не видел)
                                                                      Ответить
                                                        • кстати, еще вспомнил очень сложный квест "звездное наследие - черная кобра" - так и не прошел (
                                                          Ответить
                                                • сори. зеленым нужно было писать мне. хотел вбросить, а получилось слишком серьёзно.
                                                  Ответить
                                            • А как понять "зеленым"? Я не врубаюсь.
                                              Ответить
                              • Потом, под впечатлением от виденных тобой мускулистых, облитых потом тел рабов ты ночью тайно спускаешься на конюшню, где спят рабы и, цитирую, просишь, чтобы они "сделали тебя мужчиной"
                                Ответить
                              • > А я сижу на камне и ем пирог
                                Розовый пирог? пинкипай? да ты канибал
                                Ответить
                              • А можно я тоже не буду учувствовать (даже косвенно или опосредованно) в строительстве башни которая неизбежно рухнет до того как её закончат? Меня в реальной жизни задолбали подобные башни. Рыба гниет с головы, так что это был тонкий наезд на Борманда.
                                Ответить
                                • Потому, что одни использовали юникод, а другие - ascii.
                                  Ответить
                                  • Вот и остался я без модераторских погонов -истек срок хостинга. Товарищи, окажите услугу - найдите в вк Handi (Саша Терешков) и скажите ему, что yadelphi накрылся!
                                    Ответить
                                  • UTF-8 совместим с ASCII.
                                    Ответить
                                    • > UTF-8 совместим с ASCII.
                                      А виндоблядский UTF-16LE - нет.
                                      Ответить
                                      • >А виндоблядский UTF-16LE - нет.
                                        Как что-то плохое (начнем холивар UTF-8 vs UTF-16?)
                                        Ответить
                      • > wchar_t
                        В gcc он для символов юникода фиксированной длины, а в студии для символов юникода переменной длины.
                        Ответить
                        • >>для символов юникода переменной длины

                          переменная длина в 2 или 2 байта на выбор. UCS-2.
                          Ответить
                      • > некоторые другие проблемы
                        Какие?
                        Ответить
                        • Ну вот хотя бы поддержка wchar_t в качестве имен файлов в сраном iostream.
                          Ответить
                      • > wchar_t
                        в с++11 добавили ещё типов
                        Ответить
                        • > в с++11 добавили ещё типов
                          О, спасибо! Интересно, я когда-нибудь узнаю все фишки, которые добавили в c++11? :)

                          Сырые литералы понравились, буду юзать для регулярок, чтобы не писать сраные \\\\:
                          R"=( O )="
                          Ответить
                          • >>буду юзать для регулярок

                            Они пока кривые.
                            Ответить
                            • Не умеют в локализацию. boost::regex или boost::xpressive юзай
                              Ответить
                              • Modified ECMAScript regular expression grammar is not implemented yet.

                                http://ideone.com/RU17Vl
                                Ответить
                                • А это сишка или кресты? Что-то уж больно текст понятный )
                                  Ответить
                                  • а вот эта строка тебе не намекает?

                                    for (const auto &fname : fnames)

                                    С++11

                                    Да там как бэ и написано в углу
                                    Ответить
                                    • Упс. Просмотрел. Вообще, си на мой взгляд далеко не такой сложный язык, но очень много подводных камней и внезапных ударов судьбы при работе с памятью (т.е. на каждом шагу). Перегрузку методов/ООП классы в c++ я вообще не понимаю.
                                      Ответить
                                      • Не сложный, если на чем то уже кодил. Как первый язык он сложноват

                                        >> Перегрузку методов/ООП классы в c++ я вообще не понимаю.

                                        так ты же дельфин, в этом плане языки довольно похожи. Класс состоит из ClassName.h (дикларация) и ClassName.cpp (имплиментация). Перегруз - ну он и в африке перегруз. А вообще плюсы не нужны( Слишком они универсальны, а потому страшнее ядерной войны и состоит из костылей почти полностью.
                                        Ответить
                                        • В Делфи можно к любой функции приписать ключевое слово overload; и накатать хоть тысячу функций с одинаковыми именами - компилятор разберется, какую функцию ты вызываешь. Вот ЭТО да, я понимаю, перегрузка. А в плюсах что? Элементарно, не смог перегрузить знак сложения "+" чтобы не вызывать долбаную strcat. В общем, до плюсов мне как до луны пешком.
                                          Ответить
                                          • procedure ololo;overload;
                                            begin
                                              showmessage('Overloaded ololo without params');
                                            end;
                                            
                                            procedure ololo(str:string);overload;
                                            begin
                                              showmessage('Overloaded ololo with one string param - '+str);
                                            end;
                                            
                                            procedure ololo(int:integer);overload;
                                            begin
                                              showmessage('Overloaded ololo with one integer param - '+inttostr(int));
                                            end;
                                            
                                            begin
                                              ololo;
                                              ololo("Hello,Ololo!");
                                              ololo(123);
                                            end;
                                            Ответить
                                            • В плюсах как то так

                                              #include <iostream.h>
                                              
                                              int add_values(int a,int b)
                                              
                                              { 
                                                 return(a + b); 
                                              )
                                              
                                              int add_values (int a, int b, int c)
                                              
                                              ( 
                                                 return(a + b + c); 
                                              )
                                              
                                              void main(void)
                                              { 
                                                 cout << "200 + 801 = " << add_values(200, 801) << endl; 
                                                 cout << "100 + 201 + 700 = " << add_values(100, 201, 700) << endl; 
                                              }
                                              Ответить
                                              • Так это же автоперегрузка!
                                                :O
                                                К тому же, каким макаром в консолечку выводятся INT? Это же не строковый тип. Или в плюсах похуй - что строка, что число?
                                                Ответить
                                                • > Или в плюсах похуй - что строка, что число?
                                                  Оператор битового сдвига вывода в поток << перегружен для кучи типов. Можно добавить свои перегрузки, если какие-то еще типы хочется выводить в консолечку.
                                                  Ответить
                                                  • Оу, уи. Кстати, Борманд, не подскажете, как правильно использовать application.processmessages? Я так понимаю, вызов этой функции заставляет поток разбирать остальные сообщения из очереди. Не возникает ли при этом асинхронность? Можно запустить процедуру, в цикле читающую элементы из списка, и процедуру, которая в цикле же их удаляет - возникает ошибка. Я и проверку на item.deleting ставил - один хуй. Она хороша тем, что гуй не тормозит при выполнении длительных операций в главном потоке, но как отловить из очереди одновременное обращение к 1 объекту?
                                                    Ответить
                                                    • > как правильно использовать application.processmessages
                                                      Ну если я не забыл делфи, то...

                                                      Эта функция в цикле вынимает из очереди сообщений новые сообщения и вызывает их обработчики. Вызывать ее из каких-либо потоков, помимо главного, категорически запрещается. Обработчики будут выполнены так, как-будто ты их вызвал сам из той точки, где ты вызвал processmessages.

                                                      Поэтому если прога боится повторных нажатий кнопочек и т.п. - юзай флаги, блокируй кнопки, твори прочие непотребства ;) Никакой многопоточности и прочей магии здесь нет.
                                                      Ответить
                                                      • Хм. Спасибо, кэп.
                                                        Ответить
                                                        • Солнце взошло надо мной: вот, что я искал!!!
                                                          listview.Items.Begin update - защищает элементы списка от повторного обращения. Спасибо всем, ответившим - ваши слова не прозвучали впустую - я нашел верное решение.
                                                          Ответить
                                              • > В плюсах как то так
                                                Код нерабочий. Надо или using namespace std или std::cout вместо cout.

                                                P.S. Скажем нет копипасте (работает для любого числа аргументов и для любых типов которые хоть как-то можно сложить):
                                                template <typename T> T add_values(T x) {
                                                    return x;
                                                }
                                                
                                                template <typename T, typename ... R> T add_values(T x, R ... y) {
                                                    return x + add_values(y ...);
                                                }
                                                Ответить
                                              • > iostream.h
                                                этот пацак все время говорит на языках, продолжения которых не знает (с)

                                                собрался подсказывать - не плавай сам

                                                а то как два девственника в брачную ночь
                                                Ответить
                                                • Так то я код скопипиздил. Ему важно было как перегружать - я показал. Я в плюсы и не стремлюсь погружаться - не люблю говно
                                                  Ответить
                                                • Не, я все равно ему благодарен. Ведь он не прошел мимо. Спс, кегдан! :)
                                                  Ответить
                                                • >> iostream.h
                                                  > этот пацак все время говорит на языках, продолжения которых не знает (с)

                                                  Ааа, беру свои слова обратно! Код рабочий, но... на древних достандартных компилерах аля досовский борманд с++.
                                                  Ответить
                                          • > Элементарно, не смог перегрузить знак сложения "+" чтобы не вызывать долбаную strcat.
                                            Ну нельзя на примитивные типы (указатели, целые числа и т.п.) операторы перегружать, да, есть такое крестоблядство. Когда оператор перегружаешь, хотя бы один его аргумент должен быть объектом.
                                            Ответить
                                        • > состоит из
                                          Иногда лучше жевать
                                          Ответить
                                        • > Класс состоит из ClassName.h (дикларация) и ClassName.cpp (имплиментация).

                                          Авотхуй ;) *.h банально копипастятся в *.cpp препроцессором. Да, класс может состоять из двух половинок. А может и не состоять. Кресты такие кресты ;)

                                          > Иногда лучше жевать
                                          +1
                                          Ответить
                                          • Суть сказанного была в том, что в отличии от жаб - рубей - шарпов методы описываются отдельно от описания типа. Тут я тоже не прав?
                                            Ответить
                                        • > Не сложный, если на чем то уже кодил
                                          Ты про си или про кресты? Си очень просты, но там полно подводных камней. Кресты очень сложны, и подводных камней в них еще больше. А с выходом стандарта с++11 (и планируемым с++14) о полном знании всех возможностей языка можешь забыть как о несбыточной мечте :)

                                          Не связывайся с крестами, если жизнь не заставит. Как крестовик тебе говорю ;)
                                          Ответить
                                          • О, спс кэп!
                                            Ответить
                                          • Я говорил про си

                                            Я раньше собирался. Вообще начинал с бейсика, поступил в уневер - сказали NO WAY - с помошью соседа по общаге перешел на делфи. И тут появились умные личности, которые начали склонять меня к плюсам. После того, как меня побило мордой о всякие камни и полную недружелюбность плюсов (все это не уровне бигинера ) открыл для себя шарп. чему и рад
                                            Ответить
                                            • анальное рабство моноплатформенности
                                              Ответить
                                              • А зачем мне полиплатформенность?

                                                Имхо .NET предоставляет все необходимое для рядового программиста.
                                                Ответить
                                                • для рядового программиста десктопных приложений?
                                                  во времена, когда все переходят на браузерные и нужен качественный бекенд? ставить серваки с виндой, иис и мс скл?

                                                  без обид, я просто наелся этого говна от микрософта

                                                  когда очередные гении требовали для своей говноподелки вместо селерона+апача+мускула (этого бы хватило) сервак на 12 ядер, 64 рам, винду и мс скл не ниже стандард (экспресс мол для них уже не катил) - потому что рядовым программистам хватило дотнета блять
                                                  Ответить
                                                  • > во времена, когда все переходят на браузерные и нужен качественный бекенд?

                                                    Ты сейчас кресты для серваков предлагаешь? Поржал.
                                                    Ответить
                                                    • это ты как такой вывод сделал?
                                                      я ваще т на прямого конкурента намекал - жабу

                                                      но и остальные мультиплатформенные технологии велкам

                                                      но не дотнет, неет
                                                      Ответить
                                                      • > на прямого конкурента намекал - жабу
                                                        Да хрен тебя знает. Может ты скрытый питонист как пушков, который всегда казался крестушком, а теперь всюду своего питона вставляет.
                                                        Ответить
                                                        • > скрытый питонист
                                                          есличо, я сейчас в основном в аутлуке программирую, например

                                                          а также миллион других дел, которые больше некому делать

                                                          хотелось бы уже набрать толковых ребят и отделегировать, но где ж их найдешь теперича
                                                          Ответить
                                                          • Толковые вырастают из бестолковых. А бестолковых никто не берет не работу - потому что бестолковые и стажа нет. А если и берут - то на пхпшную работу. А на пхпешной работе толковым не станешь. Вот такой порочный круг
                                                            Ответить
                                                            • дык готовы взять и без стажа, учить, растить и посылать на сертификацию

                                                              но только чтобы была надежда, что вырастет специалист, а не тыква
                                                              Ответить
                                                              • Как то я вроде не совсем тыква - возьмете?
                                                                Ответить
                                                                • > - возьмете?
                                                                  На крестоработы я бы тебя пока не взял. Уж очень долго обучаются в кресты даже знающие кресты. Ошибки исправлять за новичков не охота.

                                                                  Дефекейта я бы взял. А он бы меня нет. Боится что подсижу.
                                                                  Ответить
                                                                  • >>На крестоработы я бы тебя пока не взял. Уж очень долго обучаются в кресты даже знающие кресты. Ошибки исправлять за новичков не охота.

                                                                    Об этом я и говорю
                                                                    Ответить
                                                                    • > Об этом я и говорю
                                                                      Ну ты на меня не смотри. Дефекейстра то может тебя бы взял. У меня работы подходящей для обучения как-то не особо много
                                                                      Ответить
                                                                      • Я ж не про тебя, броняша, я про тенденцию в целом
                                                                        Ответить
                                                                • > возьмете
                                                                  ну напиши мыло для связи - можно и в личку, тем более у нас теперь Форум есть
                                                                  Ответить
                                                                  • Только спроси у него в каком он городе работает. А то утащит тебя на органы, поняша.
                                                                    Ответить
                                                                    • У поняш нет органов - у них внутри добро и любовь
                                                                      Ответить
                                                                    • Если вдруг спросят, болел ли ты инфекционными заболеваниями, скажи, что лечился от гепатита. 250% что тебя убьют на месте - это все же, лучше, чем умереть на холодном операционном столе, под скальпелем нелюдя.
                                                                      Ответить
                                                                      • > 250% что тебя убьют на месте
                                                                        Не помогает. Им все равно. Главное чтобы орган получить и продать.
                                                                        Ответить
                                                                        • Ну, по моему скромному мнению, кровью гепатитного больного ни один человек в здравом уме не станет пачкать руки, тем более, коррумпированный врач, продавший душу дьяволу. Эта зараза раз в 100 хуже спида.
                                                                          Ответить
                                                                  • Чето я щас подумал что мы немного в разных городах. Я из Томска например.
                                                                    Ответить
                                                                    • Переехать в хороший город и слезть с шеи родителей - самое оно.
                                                                      Ответить
                                                                    • ну ты же не собираешься в Томске всю жизнь торчать? пока молодой и семья не осела якорем, нужно скорей заправлять трактор

                                                                      http://dic.academic.ru/dic.nsf/dic_wingwords/3216/В
                                                                      Ответить
                                                                • > возьмете
                                                                  ну что, соскочил с темы? :)
                                                                  Ответить
                                                                  • пока в раздумьях. А чем черт не шутит
                                                                    Ответить
                                                                    • Ты смотри, он возьмет тебя на собеседование, задаст смищные задачки, ты напишешь код, он тебе скажет что подумает. Своим каллегам скажет, что тебе нравятся рисованные поняшки для маленьких девочек. Нам скажет твоё мыло, адрес, фио и страничку вконтакте, расскажет что ты ничего не решил, запостит на говнокод твои решения, мы будем все ржать, посылать твой вконтакте кавказцам Despicable Me
                                                                      Ответить
                                                                      • тебе мой вк дать?)
                                                                        Ответить
                                                                        • Не, спасибо. Я и так тут как-будто в вк. Все кому надо меня здесь знают.
                                                                          Ответить
                                                                          • на всякий случай говорю - я один kegdan в вк
                                                                            Ответить
                                                                            • ну всё, сейчас нобижит лиспговно и засрёт тебе стену
                                                                              зачем это здесь?
                                                                              Ответить
                                                                              • да просто как дети малые с этой анонимностью. Кому нужно будет - сам меня найдет. Это несложно.
                                                                                Ответить
                                                                                • Когда лисшпговно набижит - смотри от кого запостили на стену. Так ты вычислишь лисшпговно по вкантакте и фоточкам. Можно будет посылать к нему в друзьяшки кавказцев за пропиской в мск
                                                                                  Ответить
                                                                                  • И тут появляется один важный вопрос - зачем мне это?
                                                                                    Ответить
                                                                                    • > зачем мне это?
                                                                                      Тебе не зачем. А как же я без кавказцев то?
                                                                                      Ответить
                                                                                      • Михаил Юрьевич?
                                                                                        Ответить
                                                                                        • Я не верю. Как ты догадался? Ты спалил меня, когда я изрисовывал твою стену вконтакта? Это не вероятно. Ты ясновидящий? Ты видел логи вконтакта и говнокода? Ясно видел? Как ты догадался что моё имя отчество не такое? Ты уже ближе на пару миллионов вариантов человек к мой деанонимизации.
                                                                                          Ответить
                                                                                      • насколько я помню по предыдущему пеленгу твоей локации, у тебя вроде и так достаточно кавказцев, нет?
                                                                                        Ответить
                                                                                        • ан нет, повторный поиск совсем другого лишпговно мне сейчас нашёл
                                                                                          Ответить
                                                                                          • ну да, то-то я удивился в прошлый раз, что лиспговно живёт во владикавказе и учится чуть ли не в школе
                                                                                            хм, не знаю, как так вышло
                                                                                            настоящий лиспговно совсем не такой

                                                                                            но наследил он прилично, с номерами асек, почт
                                                                                            одно неясно
                                                                                            почему его почта приписана в социальной сети на даму...
                                                                                            Ответить
                                                                                            • > почему его почта приписана в социальной сети на даму...
                                                                                              Потому что он и есть дама, просто скрывается от похотливых программистов под личиной лиспговна?
                                                                                              Ответить
                                                                                              • скорее всего, так и есть
                                                                                                и т.к. дама замужняя, это до сих пор крепкая тайна
                                                                                                у анонимба даже никаких подозрений не было за много лет - а это достойно уважения
                                                                                                Ответить
                                                                                            • Предлагаю взять либу стилистического анализа текстов (можно самому написать кому не слабо) и взять бота стертора. Скрестить их, скормить мои посты этому фрэнки штейну и получить результат стилистического анализа моего потока сознания. Дальше скормить стенки вкантактека и вычислить таким образом меня. Потом представляешься Дурову сотрудником фсб и просишь мой iπ. Дальше действуешь по обстоятельствам. Можно нанять headhunterа с поставленным ударом из соседнего треда.
                                                                                              Ответить
                                                                                              • вконтактик нашёл
                                                                                                не имея своего вконтактика, только с помощью кеша гугла и провидения, это оказалось нелегко, но реально
                                                                                                а дуров шлёт всех в жопу из гондураса

                                                                                                тащемта зачем мне твой ойпи, он у тебя за натом
                                                                                                только провайдера ддосить, смысл
                                                                                                Ответить
                                                          • > аутлуке
                                                            Поясни? Отвечаешь на сообщения через мс клиент электронной почты? о_О
                                                            Ответить
                                                    • > кресты для серваков
                                                      Смотря для каких. Для домашних страничек явно не айс. А вот для всяких скорострельных видеотрансляций, сетевых фс типа дропбокса и прочей подобной гадости - почему нет?
                                                      Ответить
                                                      • тащемта зачем кресты в хайлоаде яндексу может рассказать один из постояльцев гк
                                                        Ответить
                                                        • ты про Романа чтоли?
                                                          Ответить
                                                        • > зачем кресты в хайлоаде яндексу может рассказать один из постояльцев гк

                                                          Шило в мешке не утаишь: http://habrahabr.ru/post/208136/ (простите за хабр). Проверил свою почту на яндексе - там тоже в районе 2го января такие заголовки есть :) Нулябрь, видимо.
                                                          Ответить
                                                        • > зачем кресты в хайлоаде яндексу
                                                          Кресты конкретно в картах, например, из-за геометрии (Boost.Geometry в частности) и графов, с трудом помещяющихся в оперативку сервера. В поиске ядро тоже на плюсах по понятным причинам. Плюсовых либ за десятилетия накопилось овер 9000.

                                                          Жабы тоже немеряно, особенно в Маркете и всяких бэк-офисах. Всякий инфраструктурный клей часто пишут на питоне, иногда на перле. Нода тоже модна, в основном из-за дешёвых фронтэнд-девелоперов. Вообще у меня есть гипотеза, что для любой существующей технологии найдётся место в Я, где она используется.

                                                          Опять же, в объёмах сотен серверов выбор более производительного и киловатт-пер-флопс-френдли языка весьма актуален.

                                                          Вообще мне люто доставляет читать тамошние холиварные бложики и комменты "кресты vs. современные языки (тм)" (отчасти радует отсутствие там школоты и ботов).
                                                          Ответить
                                                          • > Нода тоже модна, в основном из-за дешёвых фронтэнд-девелоперов.
                                                            Блин, им хоть молоко за вредность выдают?
                                                            Ответить
                                                            • > хоть молоко за вредность выдают?
                                                              молоко в свободном доступе на кофепоинте
                                                              Ответить
                                                          • > "кресты vs. современные языки (тм)"

                                                            === BEGIN HOLY WAR ===
                                                            Современные языки бы упали с исключением, и программистам обломали бы праздник. А кресты спокойно работали до четвертого числа, не отвлекая людей от отдыха.
                                                            Ответить
                                                            • Skynet был (будет?) написан на плюсах явно, что не делает языку чести
                                                              Ответить
                                                            • > кресты спокойно работали до четвертого числа

                                                              Такое ощущение, что кто-то выкатил фикс под новый год. Странно, за 2 недели до нового года фич-фриз, ничего не катится в продакшн без _особой_ надобности.
                                                              Вообще говоря, я наблюдаю за эпикфейлами с диском и почтой с удивлением. В нашем отделении довольно строгий код-ревью. Думаю, виноваты в основном новички и не вовремя ушедшие в отпуск старшие коллеги.
                                                              Ответить
                                                              • > выкатил фикс под новый год
                                                                Да скорее всего баг лежал там давным-давно, как бы не полгода, и просто ждал своего часа...

                                                                В кедах где-то в районе 4.2, несколько лет назад, в календаре не было февраля. Причем если листать вперед - то после января шел март. А если листать назад - вся плазма вылетала к чертям. В феврале того же года баг прошел сам собой, без обновления кедов.
                                                                Ответить
                                                                • ничего, вот выйду с каникул, насабмичу багрепортов мобильным картам под яОС (яМУХ)
                                                                  Ответить
                                                                  • > выйду с каникул
                                                                    Так и знал что школьники пользуются яМух
                                                                    Ответить
                                                                    • Мне всегда нравилось, что подобные фразы в сторону Романа или Бормана не требуют зеленого.
                                                                      Ответить
                                                  • после всего сказанного создается впечатление, что .NET не нужен. Вспоминается царь
                                                    Ответить
                                              • > анальное рабство моноплатформенности
                                                Ну дотнет моно на линухах с горем пополам все-таки работает. С кучей ограничений, без либ от майкрософта и т.п., но работает...

                                                Вот и получаются кресты, которые кроссплатформенны через жопу (без буста или кути о кроссплатформенных крестопрогах лучше даже не думать).

                                                Жаба, которая кроссплатформенна по определению, но слишком энтерпрайзна и невыразительна.

                                                И шарп, который вполне годен, но не кроссплатформенный из-за либ (ну не заставлять же виндоюзеров ставить моно?).
                                                Ответить
                                                • как мне прикрутить дотнетное веб-приложение с моно? иис в моно тоже есть? и как поставить мс скл на линукс?
                                                  Ответить
                                                  • > как мне прикрутить дотнетное веб-приложение с моно? иис в моно тоже есть?
                                                    Моновское ASP.NET можно запускать с апачем вместо IIS. http://www.mono-project.com/ASP.NET. Х.з. правда, насколько это все стабильно.

                                                    > как поставить мс скл на линукс
                                                    Только постгрес, только мускуль, только хардкор. Тут шарпеям все-таки придется уйти из своего анального рабства уютного мирка и поставить коннектор для нужной СУБД.
                                                    Ответить
                                                  • Моно может работать как сервер приложений за httpd / varnish / nginx. Я никогда не пользовался ASP.NET MVC и т.д. Только FluorineFX (это C# библиотека для AMF протокола). Но не в производственных целях. Но в принципе ничего особо сложного в настройках не было. Типичное питоновское веб-приложение примерно так же настраивается (торнадо+nginx и т.п.)
                                                    Ответить
                                                  • вывод прост - ставить винду серверную
                                                    Ответить
                                                    • > ставить винду серверную
                                                      Ты покупал и ставил винду серверную с mssql? :)
                                                      Ответить
                                                      • Я ставил эмбедед. Дорого нах. Памяти меньше жрет. Как серверную юзают.
                                                        Ответить
                                                      • я из программ покупал только героев 3)

                                                        Неужели нет бесплатного способа поставить сервак от ms?
                                                        Ответить
                                                        • > бесплатного способа
                                                          > от ms
                                                          Скажи Кря!
                                                          Ответить
                                                          • Они обладают удивительным свойством навязывать всем свое черезжопие. Одни только компиляторы их чего стоят.
                                                            Ответить
                                                            • > Они обладают удивительным свойством навязывать всем свое черезжопие. Одни только компиляторы их чего стоят.
                                                              Причем, как правило, продукты от M$ совместимы только с продуктами от M$ и требуют других продуктов от M$ для полноценной работоспособности.
                                                              Ответить
                                                        • > Неужели нет бесплатного способа поставить сервак от ms?
                                                          Вот из-за таких как ты и появляются описанные дефекейтом случаи... Юзаете пиратскую вижуалку, пиратский mssql, пиратскую серверную винду, а потом хлопаете глазками, и думаете, почему же ваши любимые анальные игрушки никому не нравятся...

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

                                                          P.S. Я не против продуктов M$, я против тех, кто их бездумно юзает направо и налево.
                                                          Ответить
                                                          • Что-то сегодня бедному кегдану от всех достается ;((
                                                            Предлагаю перевести огонь на меня.
                                                            См. есть интересная штука: берем калькулятор, и последовательно вводим: 1 затем + затем = и несколько раз жмем =
                                                            Калькулятор будет выводить каждый раз инкрементированный результат, начиная с 1 (в калькуляторе - проге с 2) Отчего так?
                                                            Ответить
                                                          • >>Юзаете пиратскую вижуалку, пиратский mssql, пиратскую серверную винду, а потом хлопаете глазками, и думаете, почему же ваши любимые анальные игрушки никому не нравятся...

                                                            Пиратская версия как то по другому компилирует?) Или ты о чем?
                                                            Ответить
                                                            • Есть мнение, что компилятор тайно вшивает в бинарник информацию о лицензиях. Это лишь догадка. Но если добавить в прогу на делфи (и не только) манифест (XPman) в нем явно виден токен ProductKey с каким-то кодом. Что это?
                                                              Ответить
                                                              • Ога. То есть когда у меня VS обновляется - лицензия не проверяется, а когда компилишь - резко всподхватывается
                                                                Ответить
                                                              • ЭЭЭ... GUID продукта, не?
                                                                Ответить
                                                                • Да хз. Вот, смотрите: (скомпилировано в Lazarus, ресурс с номером 24 - манифест)
                                                                  <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
                                                                  <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
                                                                   <assemblyIdentity version="1.0.0.0" processorArchitecture="*" name="CompanyName.ProductName.YourApp" type="win32"/>
                                                                   <description>Your application description here.</description>
                                                                   <dependency>
                                                                    <dependentAssembly>
                                                                     <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*"/>
                                                                    </dependentAssembly>
                                                                   </dependency>
                                                                   <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
                                                                    <security>
                                                                     <requestedPrivileges>
                                                                      <requestedExecutionLevel level="asInvoker" uiAccess="false"/>
                                                                     </requestedPrivileges>
                                                                    </security>
                                                                   </trustInfo>
                                                                  </assembly>
                                                                  Ответить
                                                            • > Пиратская версия как то по другому компилирует?) Или ты о чем?
                                                              О том, что работая на пиратском софте вы не осознаете стоимости комплекса и всего геморроя, на который вы обрекаете заказчика.
                                                              Ответить
                                                              • Смотря что писать. можно же писать игрухи под WP шайтан коробку и винду
                                                                Ответить
                                                              • >>всего геморроя, на который вы обрекаете заказчика.
                                                                О, а можно подробнее,кэп? Я думаю, сейчас многие замерли в ожидании, что Вы нам ответите.
                                                                Ответить
                                                                • прежде чем разработать аппаратно-программный комплекс, который надо впаривать, обязательно задумайся об ограничениях применения

                                                                  с какими ОС оно может работать, с какими субд - т.е. какое системное ПО потребуется докупать, сколько цпу и памяти, пзу и сети ему надо - аппаратные ресурсы

                                                                  что с гибкостью этих параметров, масштабируемостью решения, гетерогенностью
                                                                  Ответить
                                                                • Лично я много лет кодил на взломанном компиляторе Visual Basic (сомневаюсь, что на нем вообще пишут коммерч. софт - макросы для офиса не в счет) и Pure Basic (еще больше сомневаюсь). Но писал проги чисто для себя - учился кодить. Разве это преступление? PureBasic-триалка запрещает линковку dll и вызов API функций - интересно, еще большей брехни им нельзя было придумать? Но теперь по боку, я давно бросил бейсики.
                                                                  Ответить
                                                                  • > Разве это преступление?
                                                                    Нет конечно. До тех пор, пока ты не начнешь продавать проги ;)
                                                                    Ответить
                                                          • >Вот из-за таких как ты и появляются описанные дефекейтом случаи... Юзаете пиратскую вижуалку, пиратский mssql, пиратскую серверную винду, а потом хлопаете глазками, и думаете, почему же ваши любимые анальные игрушки никому не нравятся...

                                                            M$ ещё активно и впаривает свои анальные игрушки:
                                                            DreamSpark, BizSpark, официальные откаты, скидки для школ итд итп

                                                            Vendor lock-in, он же не на серваках и десктопах, а в головах
                                                            Ответить
                                            • > умные личности, которые начали склонять меня к плюсам
                                              Они просто недостаточно изучили с++ :)
                                              Ответить
                                              • @борманд наелся кути и проецирует на все кресты целиком?
                                                Ответить
                                                • > @борманд наелся кути и проецирует на все кресты целиком?
                                                  Нет, уже наелся и буста. Просто я бы не стал советовать новичкам этот язык (хотя по началу так и делал, пока писал на нем лабы).
                                                  Ответить
                                                  • всему своя ниша

                                                    вон из дочерней конторы ребята допиливают что-то там под дисковые хранилища

                                                    типа как файловую систему распределенную, с требованиями специальными

                                                    ребята не очень опытные, мягко говоря

                                                    и вот им нужно было ноды как то взаимоувязать по собственному служебному протоколу - и очевидно, что время реакции (хранилище же) должно быть минимальным

                                                    не хотят брать кресты, тк не знают их - хотя там на асио день работы

                                                    будут брать ноде.жс
                                                    я просто уссался когда узнал

                                                    пожелал им удачи
                                                    Ответить
                                                    • > будут брать ноде.жс
                                                      Блеать. Ну я все понимаю, v8 шустрый движок, но не настолько же, чтобы на нем распределенную фс пилить.

                                                      > пожелал им удачи
                                                      Она им понадобится...

                                                      > хотя там на асио день работы
                                                      А вот интересно, с java nio отзывчивость будет намного ниже, чем с asio?
                                                      Ответить
                                                      • если честно, у нас тут жаба сейчас на бекенде крутится

                                                        говносборщик мусора и тотальное непонимание разрабами либ нахуя нужны тыщщи синглтонов и тред-локал уже упарывали нам жабопроблемы, когда пермген наедался досыта и томкат показывал кукиш

                                                        и главное, хуй чо исправишь

                                                        зато быстро пилится, тут без нареканий

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

                                                        так что я бы не думал о жабе как о мгновенном предсказуемом сервере сообщений
                                                        Ответить
                                                        • > пермген наедался досыта
                                                          Хуяссе. Они там String.intern() для эффективности поди юзали? :) Я просто что-то слабо представляю, сколько классов надо насоздавать, чтобы засрать пермген.

                                                          > хуй чо исправишь
                                                          Пермген же вроде можно растянуть опцией?
                                                          Ответить
                                                          • > опцией
                                                            дык если он монотонно растет

                                                            на серваке было 32 рам и томкат

                                                            — У нас было 2 пакета травы, 75 таблеток мескалина, 5 упаковок кислоты, пол-солонки кокаина и целое множество транквилизаторов всех сортов и расцветок, а также текила, ром, ящик пива, пинта чистого эфира и амилнитрит. Не то что бы это был необходимый запас для поездки.

                                                            но наши жавоёбы побороли таки проблемы, вроде
                                                            Ответить
                                                            • сейчас проще найти кровь дьявола, чем амилнитрит(каким макаром его сюда приплели?) и этиловый эфир.
                                                              Ответить
                                                          • > пермген
                                                            Поясни для нежабиста. Интернирование знаю если что.
                                                            Ответить
                                                            • > Поясни для нежабиста.
                                                              Место, где хранятся загруженные классы и интернированные строки.
                                                              Ответить
                                                    • >будут брать ноде.жс
                                                      пока делать govnoarchitecture.ru
                                                      Ответить
                                                    • У одноглазников распределённое дисковое хранилище на жабе написано, вроде их устраивает. К тому же, мы же все в курсе, что от программиста всё зависит существенно больше, чем от инструмента. Собственно, путный программист и инструмент под задачу выберет подходящий.
                                                      Ответить
                                                    • > не хотят брать кресты, тк не знают их - хотя там на асио день работы

                                                      Забавный курьёз: учить плюсы я начал как раз когда потребовалось писать свою специализированную байтохранилку...
                                                      Ответить
                    • Кому нужен этот юникод, который не помещается в 2 байта?
                      Ответить
                      • японцам
                        Ответить
                      • Да кому вообще нужен этот юникод. Переучить всех на инглиш и юзать ascii.
                        Ответить
                        • >>Кому нужен этот юникод
                          >> Переучить всех на инглиш и юзать ascii
                          Бог ты мой, как толсто.

                          Кто не юзает юникод, тот гомосексуалист.
                          Ответить
                          • У тебя какие то проблемы с гомосексуализмом. У тебя от него брат что ли умер?
                            Ответить
                            • Не знаю, откуда вам известна судьба моего ненаглядного братика, но это не повод обсуждать ее здесь.
                              Ответить
                            • Говорят гомо способствует спиду. если он конечно существует
                              Ответить
                              • Спиду способствует не гомо, а человеческая безответственность.
                                Ответить
                        • Толсто.
                          Ответить
                      • американцам хватало 1 байта (ANSI)
                        европейцам захотелось двух
                        а потом китайцы, японцы, и другие народы с ужасом обнаружили, что их алфавиты не закодировать
                        и это при том, что там есть и псевдографика, и другие ненужные символы, типа мастей карт, и много других, вот Ѿ
                        Ответить
                        • Пукующая задница (выхлоп направлен вверх)
                          Ответить
                          • вообще-то омега, например в Ѿче Наш - чтиается, как "отче наш" и далее по тексту.

                            п.с. респект, кто запостит оригинал в полном виде
                            Ответить
                            • Это от, а не омега. Омега без титла сверху пишется.
                              Ответить
                        • СССР хватало 7 бит.
                          Ответить
                          • Да здравствуют советские микросхемы - самые большие микросхемы в мире!
                            Ответить
                            • БИС твою налево. В электронной почте до сих пор 7мибитную кодировку используют.
                              Ответить
                              • Кстати, а они [ИС] тогда программируемыми были уже или нет?
                                Ответить
                                • Ну процессоры ВМ80 (клоны интел 8080) были же. А на ЕС'ках, емнип, клоны 8086 стояли.
                                  Ответить
                                • программируемые - как не сложно догадаться - назывались ПЛИС

                                  да, были
                                  Ответить
                                  • > да, были
                                    Хм, а в СССР разве были ПЛИС? Имхо их до недавних дней все считали бесполезным оверкиллом, ибо слишком сложно, куча модулей внутри чипа зря пропадает, и специализированная схема выходит на порядки дешевле...
                                    Ответить
                                    • в промышленных масштабах я не готов давать ссылки

                                      самих нас в 2000х на кафедре уже учили на xilinx
                                      Ответить
                                      • > самих нас в 2000х на кафедре уже учили на xilinx
                                        Круто, блин... А я эти FPGA так и не полапал ни разу... И наверное не полапаю, больно уж они дорогие и непаябельные.
                                        Ответить
                                        • поступал в вуз поближе к дому? у нас вон ребята из восточной сибири были в т.ч.
                                          Ответить
                                          • > поступал в вуз поближе к дому?
                                            Да. Ну и специфика вуза была явно не в сторону железа.
                                            Ответить
                                            • это у меня просто кафедра была такая

                                              знакомили вообще со всем - от транзисторов до суперкомьютеров, от ассемблера до рсубд

                                              типа специалист, который должен уметь компьютеризировать любой процесс на любом уровне детализации - а чего не найдет из готового, допилить свое ПО и доработать свое железо

                                              осознание этого ко мне не сразу пришло:)
                                              Ответить
                          • Теплые советские байты.
                            Ответить
          • Да, это очевидно. Меня спросили "в какой строке".

            >Чем их mpl::string<'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'> то не устроило?
            Тем, что каждый раз нужно ставить запятую. Неудобно.
            Ответить
            • *каждые 4 символа.
              Ответить
              • А сейчас надо каждые 4 символа ставить ;) Один хрен неудобно.
                Ответить
                • >А сейчас надо каждые 4 символа ставить
                  Не понял. На форуме костыль абрахамса (32 вложенных друг в друга шаблона под названием _S) может принять до 32-х символов. Сейчас комменты туда впишу.
                  Кстати, слышал, что в новом spirit'е не будет phoenix и proto, благодаря c++11. В 2 раза ускорили компиляцию.
                  Ответить
                  • Ну про _S понятно, там настоящий строковый литерал. Меня бесит именно mpl::string<'abcd', 'efgh'> в котором экономят на спичках, разбивая на кусочки по 4 символа. Почему именно по 4? По сколько символов нужно бить русские тексты? А китайские иероглифы? Короче, имхо, то еще говно.
                    Ответить
                    • >По сколько символов бить русские буквы?
                      А зачем это тебе? Достаточно, чтобы строки этапа выполнения были юникодом. Т.е. я просто не вижу причины делать многоязычные строки для метопрограммы.
                      Ответить
                      • Ну так то да. Но чем <'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'> хуже, чем <'abcd', 'efgh'>? Оно по крайней мере кроссплатформенней (при условии, что мы туда не пишем русские и китайские тексты). А превращать строку в такую херню можно скриптом к редактору или тупо sed'ом. Да и строк в метапрограммах, имхо, раз два и обчелся.
                        Ответить
                  • > в новом спирите в 2 раза ускорили компиляцию.
                    страшно представить, сколько это будет "пиздец дохуя" поделить на 2
                    Ответить
                    • Prelude> let a = 1/0.0
                      Prelude> a
                      Infinity
                      Prelude> a / 2
                      Infinity
                      Prelude>
                      Ответить
                      • Нам очень важно мнение Хаскеля на этот счет.
                        Ответить
                    • В 2 раза приводилось для простого проекта. Для сложного коэффициент может быть побольше. Спирит зависел от mpl,fusion,proto и phoenix. Новый стандарт позволил обойтись без последних 2-х.
                      Ответить
          • показать все, что скрытоБорманд, а как сделать такое:

            имеем тип:

            type
            tactype=(ac_none,ac_done,ac_deny,ac_notfound);
            
            type
                 tmyclass=class
                 private
                 factiontype:tactiontype;
                 procedure setactiontype(value:tactiontype);
                 public
                  property actiontype:tactype; read factiontype write setactiontype;

            а как прикрутить к этому свойству функцию StatusToString:string, т.е. держать в 1 свойстве тип и строковую функцию?
            var
            mc:tmyclass;
            begin
            mc:=tmyclass.create;
            mc.actiontype // тип будет tactype
            mc.actiontype.StatusToString // это функция возвращающая строковое значение в зависимости от текущего значения tactype? Вопрос в том, как прикрутить функцию к типу, не являющемуся классом? Если нужно создать промежуточный класс, то как это сделать?
            Сорри за оффтоп. Заминусую потом.
            Ответить
            • показать все, что скрыто> Сорри за оффтоп. Заминусую потом.
              Так можно же было на новенький форум запостить. Борманд там уже есть.
              Ответить
              • Какой-то урод зарегал там учетку под ником "Stertor" - караул, как обидно( Забаньте его, это самозванец! Аз есьм Стертор!
                Ответить
            • показать все, что скрыто> Вопрос в том, как прикрутить функцию к типу, не являющемуся классом?
              Никак походу, это ж не шарп с его экстеншн методами.

              > Если нужно создать промежуточный класс, то как это сделать?
              Ну как вариант - класс с приватным полем, в котором хранится tactype, и двумя свойствами - AsActionType и AsString, которые позволят его читать и менять.
              hui.ActionType.AsString = 'done';
              ShowMessage(ord(hui.ActionType.AsActionType)); // 1
              hui.ActionType.AsActionType = ac_deny;
              ShowMessage(hui.ActionType.AsString); // 'deny'
              Ответить
              • показать все, что скрытоОк, спс. большое! Я так и делал в принципе. Просто большой соблазн сделать как в инди, но там тоже это делается через класс-наследник, который является полноценным классом - не типом, как у меня. Я был невнимателен.
                p/s/ сейчас буду минусовать, без обид. Я благодарен всем ответившим.
                Ответить

    Добавить комментарий