Я синтаксис крестов постигИ прочитал все доки к boost,Стандарт запомнил наизустьИ в метамагию проник, -Глупец! Я знать не знал о том,Что крестоблядка ждет потом.Три дня на лаврах почивал,Но не успел войти во вкус,Как комитет по C++Очередной стандарт принял,И новых правил в нем до ста!Я Бьерна новый том достал...Зубрю, дрочу кресты - и вотТому пошел десятый год.Считаю байты я всегда,Гоняю их туда-сюда,Лбом облысел, лицом зарос,Два года мучает понос,Хлебаю борщ и обнищал,Но так всех тайн и не познал.Входи, ньюфаг! Быть может, тыСумеешь обуздать кресты?Здесь рады тем, в ком страха нет,Кто не съебет в питонотред,Почуяв местный мрачный дух.Ты с нами, или ты петух.TL;DR Читаешь https://goo.gl/kVaela , делаешь примеры и суешь в http://ideone.com , ошибки копипастишь в гугл, непонятное ищешь в предыдущих тредах, спрашиваешь в этом треде, если не нашел. Если тебя послали на хуй или не ответили, то ты спросил платину, читай предыдущие треды внимательнее. И прочитай FAQ, расположенный ниже, в нем много полезного.Унаследованная памятка:Вопросу по синтаксису идут на хуй.Лабы идут на хуй."Как мне сделать Х на чистых крестах без библиотек" идут на хуй.Все идут на хуй.Хейтер сосет члены на пару со своей мамашей.Тег [code] работает через жабаскрипт-костыль: https://github.com/ololoepepe/MakabaCodeСтарший брат: >>629715 (OP)Предыдущий: >>644656 (OP) FAQ:Q: Почему стоит использовать именно C++?A: Ни один язык не идеален, но по совокупности киллер-фич C++ оставляет все остальные языки позади. Вот основные три:+ C++ действительно быстрый - по скорости они вместе с C с большим отрывом уделывают любой другой язык. Замедление относительно C находится в районе 0-20% а в ряде случаев C++ оказывается даже быстрее, причем проявляется только при использовании высокоуровневых конструкций (в крестах ты никогда не платишь за то, чего не используешь).+ C++ один из наиболее выразительных и мощных языков, позволяющий использовать большинство существующих парадигм. Его философия построена на минимальном ограничении программиста в выборе методов и инструментов простреливания ноги решения задачи.+ C++ по-настоящему популярен. На нем написаны десятки тысяч приложений и миллиарды строк кода, о нем написаны сотни книг, он до мельчайших подробностей документирован и стандартизован. Используя C++, ты никогда не останешься без работы или поддержки комьюнити.Q: Но он же давно устарел!A: Современный C++ весьма далек от языка, которым он был в 1998 году. В настоящее время кресты живее всех живых, их развитие движется семимильными шагами, а новые стандарты принимаются каждые три года, сохраняя при этом полную обратную совместимость с предыдущими. К сожалению, из-за обилия некачественной литературы по крестам, в которой игнорируются новые средства языка, бытует мнение о его "несовременности".Q: Сейчас все пишут на %languagename, а кресты сосут у него!A: Нужно понимать, что используемый язык должен соответствовать поставленной задаче. Никому не придет в голову писать на C++ скрипты или веб-фронтенд, но лишь немногие языки могут соперничать с ним по разнообразию решаемых задач.Q: Окей, я решил вкатиться. Какие же книги мне читать?A: Специально для тебя аноны /pr собрали уникальную коллекцию отборной литературы по крестам. Только лучшие книги, последние издания, без хуев! Выбирай категорию и обмазывайся:Для нюфань:Учебники для начинающих. Все примерно одинаковой годноты, читать имеет смысл только какой-нибудь один, который больше приглянется.Стэнли Липпман, Жози Лажойе и Барбара Му - Язык программирования C++ (2014) - https://goo.gl/kVaelaСтивен Прата - Язык программирования C++ (2012) - https://goo.gl/z7kA8uБьерн Страуструп - Программирование. Принципы и практика использования C++ (2011) - https://goo.gl/nAFUXa<устарело> Герберт Шилдт - C++. Базовый курс (2010) - https://goo.gl/qMLAFl<устарело> Роберт Лафоре - Объектно-ориентированное программирование в C++ (2004) - https://goo.gl/QvjR6xУчимся не писать говнокод:Книги про основные подводные камни для тех, кто осилил предыдущий пункт. Следует пролистать все.Скотт Мейерс - Эффективное использование C++ (2005) - https://goo.gl/wsDXGzСкотт Мейерс - Наиболее эффективное использование C++ (1996) - https://goo.gl/tHa0tOСкотт Мейерс - Эффективный и современный C++ (2015) - https://goo.gl/Im8VYQСкотт Мейерс - Эффективное использование STL (2002) - https://goo.gl/QtS8DcГерб Саттер и Андрей Александреску - Стандарты программирования на языке C++ (2005) - https://goo.gl/Cpk4YRПроектирование:Следует пролистать все перед переходом от лаб к написанию настоящего софта.Последний пункт есть квинтэссенция ГИБКОСТИ, поэтому стоит прочитать его в любом случае, чтобы охуеть от того, как можно делать.Ален Голуб - Веревка достаточной длины, чтобы выстрелить себе в ногу (2001) - https://goo.gl/fBmuxpДжеймс Коплиен - Программирование на C++ (2005) - https://goo.gl/Y1WGdUАндрей Александреску - Современное проектирование на C++ (2002) - https://goo.gl/e1V5BCАхтунг! Предыдущие два раздела дополняют, а не заменяют классические книги о лучших практиках разработки без привязки к конкретному языку (Макконнелл, Uncle Bob, GoF).Наиболее детальные описания языка:Бьерн Страуструп - Язык программирования C++ (на ангельском) (2013) - https://goo.gl/XkAiOX<устарело> Бьерн Страуструп - Язык программирования C++ (2010) - https://goo.gl/iZBDiVСтандарт C++14 (на ангельском) - https://github.com/cplusplus/draft/raw/master/papers/n4140.pdfПоследняя на данный момент версия черновика стандарта C++17 (на ангельском) - http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4567.pdfТонкости языка (для гурманов):Герб Саттер - Решение сложных задач на C++ (2002) - https://goo.gl/iWaa6SГерб Саттер - Новые сложные задачи на C++ (2004) - https://goo.gl/4nn512Также для легкого чтения подойдет книжка c историей создания C++:Бьерн Страуструп - Дизайн и эволюция C++ (1994) - https://goo.gl/FqbPwoОтдельные аспекты:Читать по необходимости.Энтони Уильямс - Параллельное программирование на C++ в действии (2012) - https://goo.gl/qJfBkDНиколаи Джоссатис - C++. Стандартная библиотека (2012) - https://goo.gl/PEyiMHДэвид Абрахамс, Алексей Гуртовой - Шаблонное метапрограммирование на C++ (2009) - https://goo.gl/isSt7jДэвид Вандевурд, Николаи Джоссатис - Шаблоны C++. Справочник разработчика (2003) - https://goo.gl/0M4NpGРоберт Седжвик - Фундаментальные алгоритмы на C++ (2001) - https://goo.gl/4jwxSl (части 1-4), https://goo.gl/yDuQgG (часть 5)Q: Хуле тут так сложно? Я открыл учебник, там какой-то ад!A: Попробуй учебники, изданные после 2011 года. Фичи последних стандартов не только добавили выразительности, но и серьезно упростили жизнь разработчиков. Теперь программировать на C++ стало проще, чем когда-либо! Это не отменяет необходимости прочитать несколько серьезных книжек, чтобы написать на нем что-то годное. Тем не менее, да, C++ это по-настоящему сложный язык. Его никак не получится выучить за 21 день, ну вот совсем никак. Именно высокий порог вхождения повышает твою ценность как специалиста, не позволяя нанять вместо тебя индуса за еду. Более того, крайне нежелательно пытаться изучить его первым, если ты раньше вообще не программировал. С большой вероятностью это приведет к разочарованию и потере времени. Гораздо лучше будет начать с другого языка и базовых вещей алгоритмы, архитектура пека, операционные системы, а уже потом вернуться к крестам.Q: Ты охуел? В этих книгах по тысяче страниц! Хочу коротких статей.A: Вот тебе блоги, факи, референсы и всякое такое:Годный блог, в котором все просто и понятно тян не нужны кококок борщ - http://alenacpp.blogspot.ruБлог с хорошо расписанными фичами новых стандартов - http://scrutator.meКраткие описания библиотечных функций и контейнеров - http://ru.cppreference.com/w/ или более подробно на ангельском http://en.cppreference.com/wБлог Герба Саттера (на ангельском) - http://herbsutter.comБлог Скотта Мейерса (на ангельском) - http://scottmeyers.blogspot.ruБлог еще одной тянки, много о Qt и оптимизации (на ангельском) - https://katecpp.wordpress.comКуча других блогов (на ангельском) - https://www.quora.com/What-are-the-best-blogs-on-C++Большой FAQ по C++ (на ангельском) - https://isocpp.org/wiki/faqQ: Я не умею читать.A: Можешь посмотреть какой-нибудь онлайн-курс:Видеокурс на тытрубе - https://www.youtube.com/watch?v=atVgLRzl3rIЕще один - https://youtube.com/watch?v=MOpF5lk3cLYСреди прочих есть несколько курсов по C++ - https://stepic.orgИ еще есть вот такое, если проникся:Видео с CppCon (на ангельском) - https://youtube.com/user/CppCon/videos Q: Я готов начать погроммировать! Куда мне писать код?A: Под шиндошс удобно использовать IDE Microsoft™ Visual Studio®. Базовую версию (2015 Community) можно бесплатно скачать отсюда: https://goo.gl/qgAAc6 (русская версия) или https://goo.gl/WIPW9L (ангельская версия). Чтобы начать писать код, нужно запустить Visual Studio, кликнуть "Файл - Создать - Проект - Пустой проект", после создания кликнуть слева правой кнопкой мыши по пункту "Файлы исходного кода", выбрать "Добавить - Создать элемент - Файл C++". Свои хэллоуворлды писать в этот файл, в дальнейшем можно добавить другие файлы и хедеры. Чтобы скомпилировать и запустить проект, нужно нажать "Сборка - Собрать решение", а затем "Отладка - Запуск без отладки".Под *nix, как правило, уже предустановлен компилятор gcc (если нет, используй sudo aptitude install gcc), так что достаточно сохранить хэллоуворлд, набранный в текстовом редакторе, и выполнить g++ helloworld.cpp и ./a.out. Но удобнее установить какую-нибудь IDE, например, весьма удобную CodeLite (sudo aptitude install codelite codelite-plugins), и работать в ней. Ее также можно использовать и в шиндошс, но тогда сперва придется установить MinGW (http://mingw.org).Еще у нас есть IDE, призванная похоронить Visual Studio пока не особо получается. Она стоит денег, но можно украсть почти не протухшую версию на торрентах или получить бесплатную лицензию по скану студбилета, если ты студент. Удобные свистелки и перделки присутствуют. Тормоза и баги присутствуют. Кросплатформенность присутствует - https://www.jetbrains.com/clionМожно также не устанавливать ничего, а запускать свои хэллоуворлды на http://ideone.com, выбрав в левом нижнем углу язык C++14.Q: Не буду я все делать сам! Подавайте сюда софт, который все сделает за меня и подотрет мне жопу!A: Без проблем:Статический анализатор, который умеет находить в коде ошибки и неоптимальные места. Швабодный. Есть плагин для Visual Studio - http://cppcheck.sourceforge.netДетектор утечек для Visual Studio. Предельно прост в прикручивании - https://vld.codeplex.comГугловские утилиты для контроля корректности кода - https://github.com/google/sanitizersГугловский фреймворк для автоматизации тестирования - https://code.google.com/p/googlemockQ: Мне надоело писать велосипеды, какие у вас тут популярные либы?Q: Нужно зделать %монструозная_хуйня_нейм, но я обосрался от одной мысли о написании ее с нуля, что же делать?A: Гляди сюда:boostБесспорно, это самый популярный набор C++-библиотек. Не будет лукавством сказать, что C++ во многом обязан популярностью именно ему. Воистину всеобъемлющий, boost способен удовлетворить твои самые скотские фантазии. В нем есть практически все - от математических функций до сетевых компонент, от инструментов тестирования до динамических типов. Функции для работы с твоей мамашей там тоже есть. Разумеется, все это швабодное и работает на любых платформах. И да, boost является своеобразным инкубатором хороших библиотек, поэтому наиболее удачные из них с большой вероятностью можно будет увидеть после принятия очередного стандарта уже как часть стандартной библиотеки.Недостатком boost можно считать его размер - более 300 мегабайт. Большинство компонент boost не являются независимыми, и попытка использовать один единственный контейнер обернется фактическим подключением 2/3 всего присутствующего в комплекте. Таким образом, если boost не будет использоваться на полную, лучше юзать другие, более специализированные библиотеки.http://www.boost.org - скачать бесплатно без смс.http://www.solarix.ru/for_developers/cpp/boost/boost-library-list.shtml - краткие аннотации к большинству компонентов.http://sindicollo.blogspot.ru/2008/09/boost.html - документация к некоторым компонентам.http://www.boost.org/doc - документация (на ангельском).Литература:Ариндам Мукерджи - Learning Boost C++ Libraries (на ангельском) (2015) - https://goo.gl/b0gPN1QtСуществует швабодный кроссплатформенный фреймворк-надмножество C++ под названием Qt. Он содержит довольно большое количество компонент (для работы с сетью, базами данных, для юнит-тестирования и др.), но киллер-фичей и основным полем его применения являются возможности по разработке графических интерфейсов. Qt сам по себе, как расширение языка, предоставляет для этого более удобные средства, чем обычные библиотеки, а использование специализированных IDE наподобие Qt Creator позволяет в буквальном смысле собирать интерфейсы мышкой, а код писать только по существу.Тем не менее, использование Qt нельзя однозначно назвать хорошей практикой. Во многом это уже не C++, а другой язык, со своими концепциями и паттернами. Qt-код требует дополнительного препроцессинга при помощи встроенных в Qt утилит (т.н. метаобъектная компиляция), поэтому не получится просто подключить Qt как обычную библиотеку и использовать свой любимый компилятор без дополнительного софта. Нельзя сказать, что это существенное препятствие, но есть мнение, что использование Qt нарушает дух C++, раздувает машинный код и порождает макак-любителей кодогенерации.В настоящее время основные версии Qt - 4.8 и 5.х, полной обратной совместимости между ними нет как в пистоне, ага.http://www.qt.io/ru - скачать бесплатно без смс.http://doc.crossplatform.ru - документация к 4.8.http://doc.qt.io - более полная документация к обеим версиям (на ангельском).Литература:Макс Шлее - Qt 5.3. Профессиональное программирование на C++ (2015) - https://goo.gl/aZ66gKМакс Шлее - Qt 4.8. Профессиональное программирование на C++ (2012) - https://goo.gl/Slb1In (книга) + https://goo.gl/toUDWc (исходники примеров)Марк Саммерфилд - Qt. Профессиональное программирование (только Qt 4.х) (2011) - https://goo.gl/qpkZFm (книга) + https://goo.gl/LIIECh (исходники примеров)Другие хорошие библиотеки:Несколько специализированных библиотек для часто встречающихся задач. Все маленькие, быстрые и простые в освоении:libcurl - сишная библиотека для работы с сетью (существует также curlpp - крестовая обертка для нее, но использовать ее не стоит, ибо разработка заброшена еще в 2009 году) - http://curl.haxx.seSFML - работа с графикой и аудио - http://www.sfml-dev.orgFLTK - графические интерфейсы - http://fltk.orgИ еще куча библиотек на любой вкус - http://en.cppreference.com/w/cpp/links/libsQ: Я прочитал все вышеперечисленное, теперь я гуру! Что дальше?A: Дальше переходишь по ссылке http://cppquiz.org/ , пробуешь отвечать на вопросы и понимаешь, что ты пока в самом начале пути. Кроличья нора крестов практически бездонна, поэтому продолжать постигать тонкости и детали можно очень и очень долго. В то же время, на этом этапе у тебя должно быть достаточно знаний, чтобы уверенно писать неплохой код. Поэтому читай исходники открытого софта и библиотек, отправляй пулл-реквесты в них, читай книжки по предметным областям и общим методикам разработки, а дальше уже сможешь запилить свой проект или вкатиться в существующий.
Предыдущие треды на архиваче:#1 https://arhivach.org/thread/94971/#2 https://arhivach.org/thread/94972/#3 https://arhivach.org/thread/99414/#4 https://arhivach.org/thread/100995/#5 https://arhivach.org/thread/105148/#6 https://arhivach.org/thread/109335/#7 https://arhivach.org/thread/112797/#8 https://arhivach.org/thread/114519/#9 https://arhivach.org/thread/117109/#10 https://arhivach.org/thread/120019/#11 https://arhivach.org/thread/122683/#12 https://arhivach.org/thread/124637/#13 https://arhivach.org/thread/125532/#14 https://arhivach.org/thread/127327/#15 https://arhivach.org/thread/128133/#16 https://arhivach.org/thread/134437/#17 https://arhivach.org/thread/135285/#18 https://arhivach.org/thread/139690/#19 https://arhivach.org/thread/144812/#20 https://arhivach.org/thread/147540/Старые ненумерованные треды:https://arhivach.org/thread/45477/https://arhivach.org/thread/48611/https://arhivach.org/thread/60085/https://arhivach.org/thread/66322/https://arhivach.org/thread/69413/https://arhivach.org/thread/73221/https://arhivach.org/thread/77999/https://arhivach.org/thread/79194/https://arhivach.org/thread/82038/https://goo.gl/vvs9GPhttps://goo.gl/ZnBsYtОтдельные Qt-треды:https://arhivach.org/thread/15387/https://arhivach.org/thread/65590/
Клаза кайфуют когда крестуха ОП'ет! Вах маладэц!
>>653023 (OP)Почему шапку не поправил? Столько времени было.
>>653035Потому что там исходники буквально все в одну строчку, и не получится по-быстрому изменить форматирование если ты об этом. А еще я хотел сделать все вместе как масштабный перепил шапки, чтобы и книжки новые были, и всякое разное. Поэтому пока ищу и структурирую материалы для впиливания, ну и смотрю реквесты в треде, так что пилите предложения сейчас, господа инб4 дейтелы/выкинуть половину шапки, лол.
>>653040>реквестыПросто напоминаю.https://arhivach.org/thread/135285/#618225https://arhivach.org/thread/135285/#618252
>>653050Так там фактически то же самое, но другими словами. Я не очень понимаю, зачем делать ссылку на вики, тем более, что там хуй тебе объяснят в деталях. Вроде в одном из тредов вбрасывали, как хейтеры периодически набигают на статьи и меняют формулировки на хейтерские. Там у них даже была здоровая паста типа методички ольгинцев.
>>653061>хейтеры периодически набигают на статьи и меняют формулировки на хейтерские. Там у них даже была здоровая паста типа методички ольгинцев.хотеть видеть!
>>653070>типа методички ольгинцев.Вставляют +15?
ОП-пик - унылое поделиеСтих - объебосный высерШапка - нечитаемое говноОп - хуй и еблан, почему предыдущую шапку не оставил?
>Нужно зделать %монструознаяБля да ты гонишь.
>>653144>Эта боль прошлого опа.
>>653145Четвёрты тред про это напоминаю.
>>653146Тащемта да, боль. Я хоть и не фанат этих ебанутых стихов, но похуй. Но шапка - это тот еще пиздец. И ладно бы если взял все хорошее от старой шапки и от новой, но нет, хуй! Как последний вахтер выкатил свое поделие с говноразметкой и орфографическими ошибками, которые не фиксит уже 4 тред(!!!).
>>653148Может завайпаем?
>>653070Где-то в районе десятого треда оно было, сделай на архиваче поиск по "ru.wikipedia" в треде.>>653144Это временно же, я просто не успел перепилить разметку. Я во многом не согласен с твоей позицией по поводу шапки а от твоей пунктуации меня вообще трисет, но полностью разделяю мнение, что нужно брать все доступные хорошие идеи и пихать туда. Сожалею, если кому-то мои действия кажутся вахтерскими, я действительно здесь хочу исключительно процветания треда и комфорта для анона. Разметка будет перепилена уже скоро.>>653147Мне показалось, что ты троллируешь так. Если ты заглянешь спойлер, твоя жизнь никогда не станет прежней: на самом деле "зделать", "джва" etc - это устойчивые на двачах обороты, пришедшие из известной пасты про корованы. Если ты видишь их, то ты с вероятностью ~1 видишь отсылки, а не проявления безграмотности. Такие дела.
>>653174Луркоёб блять. Ещё с специальной олимпиадой ты скорее всего приставал про деления числа на 5 бинарными операциями.
>>653183Нет, я наоборот решал это дерьмо.
>>653148Хуя как ньюфагов порвало. Стих хороший, а ты - баттхёрт
Есть unique_ptr<Dungeon> dungeon(new Dungeon(x,y));У класса Dungeon есть перегруженный оператор[]Как к нему обратиться? dungeon[x][y] выдает ошибку: 'std::unique_ptr<Dungeon>' does not provide a subscript operator
>>653411оператор возвращает char(ЗВЕЗДОЧКА), так что dungeon[x][y] должно работать.
>>653411dungeon.get()[x][y]dungeon->operator[](x)[y](звёздочка dungeon)[x][y]
>>653415> dungeon.get()[x][y]Стоп. Это не сработает
>>653411>У класса Dungeon есть перегруженный оператор[]А надо оператор [][]
>>653472> надо оператор [][]Жалко только что такого оператора нет, да?
>>653472Оператора [][] не существует. Я сделал так:char(ЗВЕЗДОЧКА) Dungeon::operator[](int y){ return dungeon_[y];}
>>653483Бля. А если я считаю какие нибудь матрицы 100x100, мне что, в скалу идти?
>>653506На шаблонах можно ченить навелосипедить
>>653506Делать массив массивов, если тебе не жаль памяти на лишние указатели.
>>653506В чем проблема? const T &operator()(index_t column, index_t row) const;T &operator()(index_t column, index_t row);def apply(column: Int, row: Int): T;def update(column: Int, row: Int, value: T): Unit
>>653621column и row поменять местами, конечно жеfix
Хотеть такую переменую которая будет вычисляться при обращении к ней. Тип int. Функцию не хочу заводить. Думаю завести класс с оператор копирования в инт, но как выть со скоростью и получить доступ к элементам другого класса?
>>653689>Хотеть такую переменую которая будет вычисляться при обращении к ней.Придумано 20 лет назад, называется lazy initialization.>Думаю завести класс с оператор копирования в инт, но как выть со скоростью и получить доступ к элементам другого класса?А теперь сформируй по-человечески. Или хотябы набрасай код, что ты там имел ввиду.
>>653689гугли lazy evaluation
>>653692>lazy evaluation>>653691>lazy initialization.Я не понял. Это сложно. Покажите где просто всё поясняют.
>>653696соси хуй, просто ему надоСамый простой и короткий метод - int lazy_init(){static int huec;return huec;}Пример из 2-й ссылки в гугле, если хош поархитектурить, почувствовать себя батей - https://en.wikipedia.org/wiki/Lazy_initialization#C.2B.2B
>>653711А как это работает? Почему статик помогает?
>>653727тащемта, никаких секретов тут нет. тупо берет и подходит без задней мысли.
>>653742блядь, помогает, а не подходит
>>653727Потому что почитай что такое static.
>>653752Я знаю что это.
>>653760Из твоего вопроса >>653727 не знаешь.
Почаны, а в энтерпрайзе на серверах юзают boost? Или ещё что-нибудь?Выбирал что учить: Java или C++. Стал учить C++.Покурил по STL. Пиздатые контейнеры, итераторы, регэкспики и прочая тележка ништяков, которой я остался доволен, но не тут то было!Разбился я об задачу сделать GET запрос, хоть куда-нибудь!Охуеть! даже на ссаной джаве в стандартных библиотеках нарыть можно network!sys/socket.hЭто для бородатого прпродителя всех современных языков. Хочется обмазываться ООП!Короче охуев от происходящего и вмазавшись стопарём для верности я пошёл курить boost/asio.hppИ да, анон, я сделал это!Но это не паста об успехе. Это паста о БОЛИ!Неужели нет никакого адекватного способа сделать элементарный http запрос, как в JS? пирикотываюсь с WEB кодинга и интересует синтаксис подобный AJAXНет, надо открывать сокет, согздавать tcp соединение, писать туда>>GET / HTTP/1.0,заголовки и прочую http-магию!Потом буфером читать всё приходящее!Чому бы не сделать что-нибудь типаstring data = http.get("http://2ch.hk"); синхронно, но похуй?Я подвыпивший, анон. И учить на нетрезвую голову буст... ОТЛИЧНАЯ ИДЕЯ!На первом пике тот самый ГОВНОКОД. До сих пор не разобрался с namespace, но всё впереди.Второй и третий пик -- два стула.
Этот же >>653767 бухой антоха. Забыл ещё вопрос.На эмбеддед, ну встраиваемые системы сгодится C++Или придётся заниматься анусной еблей с его старшим братом Сиииииии?
Помогите найти репозиторий на плюсах, со средней по объемам кодобазой, который можно было бы раскурить за неделю, почерпнуть что-нибудь новое для себя, возможно даже отправить пару патчей.Охуенно было бы, если бы присутствовал Boost/Qt. Я регулярно отсылаю патчи в два проекта, которыми пользуюсь сам, но я более не нашел ничего нового. На том же гитхабе куча непонятно для чего хуйни вот именно непонятно для чего, а велосипеды писать уже наосточертело.Работы у меня нет, а руки как-то набивать надо. Я знаю, что сейчас обосрете, но войдите в ситуацию - я хочу и буду развиваться, но я сбился с пути и не знаю, как мне развиваться дальше.
Рейт сортировку кучей. Она работает скорее всего, но это не точно т.к. не нашёл задачу на которой её потестить не переделывая, но выглядит очень плохо. Что переделать?https://ideone.com/uvYbZS
>>653775Да хотя бы перестань жаться на пробелы между операторами. пиздец портянка же.
>>653767Годноту завозят, но медленноhttps://isocpp.org/std/status
>>653777Но так же компакте. А в иде обычно есть подсветка парных скобок и это не сильно мешает. Никогда не понимал пихать пробелы везде.
>>653782Мда.
>>653767>Неужели нет никакого адекватного способа сделать элементарный http запрос, как в JS? >Нет, надо открывать сокет, согздавать tcp соединение, писать тудаНапиши библиотеку. Имплементацией будет вот эта вся ебала с сокетами, а интерфейсом твой метод: >http.getТак-то везде сокеты используются, просто в некоторых яп есть библиотеки, которые представляют нормальный интерфейс.
>>653773qtcreator
>>653796Не поверишь, один коммит я туда впихнул полгода назад.Но вроде как довольно огромная кодобаза, не считаешь?
>>653795iosocket?
>>653795Нет, ну понятно, что за красивым http.get(); скрываются сокеты и прочая чёрная магия. Я к тому, что лепить велосипеды есть не самая привлекательная практика.С другой стороны, чому бы и нет
>>653767Ну так возьми библиотеку для этого, ёбана. Я б посоветовал casablanca - оч красыво, асинхронно и с C++11.
>>653148Вот тред без ошибок:>>642217 (OP) ^ ^ ^ ^ | \ / |
>>653801ну, можно и эту использовать, наверное.
>>653767И ещё вопрос назрел!А не буду ли я жрать тюрю с крестами?Джуном на C++ реально ли устроиться где-нибудь за пределами ДС?
>>653773>Помогите найти репозиторий на плюсах, со средней по объемам кодобазой, который можно было бы раскурить за неделю, почерпнуть что-нибудь новое для себя, возможно даже отправить пару патчей.Зачем? Тебе делать нехуй, специально курить левый код? Хочешь найти йоба-архитектурные решения - читай книжки, пиши код в интересных тебе проектах.
>>653811Да
>>653811Насколько за пределами?
>>653767>#define ip boost::asio::ipНе делай так больше.http://en.cppreference.com/w/cpp/language/namespace_alias
>>653811формошлепить - вряд ли. c#, java - это да, а вот qt не очень распространен.computer vision - возьмут, если найдешь. другие языки редко используются.геймдев - возьмут, если найдешь. другие языки почти не используются.научные вычисления - возьмут, если найдешь. тут, чаще всего, похуй, какой язык используется. разве если нужна скорость, тогда точно с++ .
>>653814Камчатка.
>>653812Какие такие книжки по йоба-архитектурным решениям? В книжках все охуительно просто, да, и примеры такие понятные, потому что оторвано от реальности, там не покажут, где можно использовать хуевый антипаттерн, а где можно сделать вот так уот. Нахуй эти ваши книжки, сколько можно уже их читать?
Аноны, на этой неделе нужно будет писать лабы на C++, а у меня даже компилятора нет. Какой выбрать? Codeblocks не вкатил, с Eclipse я обосрался, так как не шарю в каких-то там установках компилятора отдельно и вообще не понимаю разницы между minwg и cgwin. Есть что-то на уровне Flash Develop - чтобы установил и пишешь спокойно, без всякой мозгоебли?
>>653841>Codeblocks не вкатилПочему? Выбери студию.
>>653841vim + gcc
>>653841Dev-C++ от orwell'a
>>653841Не нужен тебе компилятор, брат, пиши лучше на питоне
>>653842Почему именно студия?>>653845Почему именно Dev-C++?>>653844У меня нехорошие ассоциации со словом vim после работы с гитом. Что это?
>>653847>нужно>на C++
>>653841И кажется я снова обосралсяНужна IDE, а не компилятор, лол. Точнее, IDE с компилятором и минимумом мозгоебли.
>>653851Тогда гугли интерпретатор для c++
>>653848DevC++ мало весит, можно писать всякую хуйню сразу как установил.
>>653848>Почему именно студия?Много умных дяденек из умной компании делают IDE вместе с компилятором. Простой и специально для винды. А ещё работает хорошо. Но я пользуюсь кодблоксом.
>>653860Её качать долго.
>>653868а ещё там дэбагер говорят ахуеный
Кстати, аноны, а расскажите, нахуя нужны библиотеки? Ну не в смысле их содержимое, а сама идея библиотек? Почему нельзя, чтобы всё можно было использовать без десятка include'ов в начале программы? И не обсираться каждый раз, когда подсмотренная где-то фича в середине кода требует библиотеки, о которой ты даже понятия не имеешь?
>>653868Думаешь за пару дней не скачается?
>>653872Чтобы твоя программа Hello World не весила 100 Гб.
>>653872Писать код, не имея понятия какие библиотеки ты подключил эээээто блядь вообще как ._.
>>653872Чтобы усеньшить время компиляции.
>>653868даже в рашке относительно нормальный интернет есть, если у тебя конечно не беспроводной YOBA-модем>>653860>>653871А там есть автозаполнение и справка? Автозаполнение на уровне того же Codeblocks или PascalABC - чтобы могла предложить разные варианты на введённую часть слова и указать параметры для функции/процедуры.
>>653887Есть. На данный момент MVS это как boost - есть всё, но весит много и надо слегка поебаться.
>>653887Ну ты не ебанутый ли? Конечно нет, где студия, а где кодблокс!
>>653887Это уникальная и запатентованная фича PascalABC. Кодблокс отвалили миллионы чтобы получить разрешение на это.
>>653881ньюфаг же, наверняка для тру погромистов с двача это вопрос на уровне "почему небо синее">>653878>>653884Получается, что подключенная библиотека банально позволяет экономить время и место, чтобы не приходилось самому писать все функции и процедуры?
>>653889поебаться конкретно с чем?
>>653893Да иди на хуй, жирный зелёный ублюдок.
>>653893>Получается, что подключенная библиотека банально позволяет экономить время и место, чтобы не приходилось самому писать все функции и процедуры?Ага. А ещё если ты не будешь подключать лишнее, то у тебя имена не будут заняты и сможешь например свой класс set написать.
>>653895Подозреваю что с этим.>A: Под шиндошс удобно использовать IDE Microsoft™ Visual Studio®. Базовую версию (2015 Community) можно бесплатно скачать отсюда: https://goo.gl/qgAAc6 (русская версия) или https://goo.gl/WIPW9L (ангельская версия). Чтобы начать писать код, нужно запустить Visual Studio, кликнуть "Файл - Создать - Проект - Пустой проект", после создания кликнуть слева правой кнопкой мыши по пункту "Файлы исходного кода", выбрать "Добавить - Создать элемент - Файл C++". Свои хэллоуворлды писать в этот файл, в дальнейшем можно добавить другие файлы и хедеры. Чтобы скомпилировать и запустить проект, нужно нажать "Сборка - Собрать решение", а затем "Отладка - Запуск без отладки".
>>653897лесом>>653899спасибо
>>653902Хорошо, попробую, спасибо.
>>653902Ну вот и подробный гайд по созданию проекта в студии пригодился. Передайте нелегитимному что он был не прав когда его из шапки выпилил. Представляете как долго пришлось бы ему всё объяснять без этого абзаца в шапке?
>>653911Вы просмотрели моноспектакль за авторством легитимного опа. Teh end.
>>653913У вас детектор сломался, дружище.мимооп
>>653925>дружищеНе друг ты мне, гнида черножопая!
>>653805Она тяжелая, зараза. Если подключить и один раз поебаться, то удобно, да, подсядешь почище, чем на хмурый, но весь вопрос в том, стоит ли начинать. Если проект мелкий, то она на порядок тяжелее всего твоего кода будет, по весу сравнима с бустом жи.
>>653411никто не знает что ли?
>>653953Дебил ебучий, нету такого оператора как [][] у unique_ptr, написано же черным по белому.
>>653957Покажите как делать его. мимопроходил
>>653953анон же написал >>653415
>>653953Эээ, ну как (*dungeon)[42], например. Это справедливо для любых методов-операторов не с нормальным именем, а с operator[] или типа того - чтобы использовать, нужно разыменовать указатель. Еще можно написать dungeon->operator [] (42), будет то же самое, но не так красиво.Короче говоря, работай с unique_ptr как с обычным указателем, в плане доступа они идентичны.
>>653958Вгугле охуенное решение.
>>653958Заебали бля, идите учить синтаксис - нет оператора [][] в C++. [][] - это два вызова метода "operator []" или (obj[])[] в случае встроенного выражения над указателями. Чтобы имитировать семантику без использования вложенных объектов хуярьте метод "get(row, col)"
>>653412>>653957пидарас пошел нахуй сука>>653959я вот этот >>653416 пост увидел и не стал пробовать.работает, спасибо всем.
>>653962>Эээ, ну как (*dungeon)[42]тоже сработало, спасибо.
>>653911>Представляете как долго пришлось бы ему всё объяснять без этого абзаца в шапке?https://msdn.microsoft.com/ru-ru/library/4457htyc.aspx?f=255&MSPPError=-2147217396Соглашусь, что мотивация выпилить этот гайд была неправильной, но я по-прежнему считаю, что этот гайд тут лишний. Этот тред - отправная точка для новичков и место перетереть для опытных господ. Не нужно делать из шапки книгу, в которой все написано. Так ты будешь повторять уже существующие 1001 статьи в интернете, в особенности если это офф. справка из IDE. Достаточно либо дать ссылку возле упоминания IDE в шапке, либо напомнить, что документацию не просто так пишут. Об этом многие почему-то забывают.
>>653982лучше больше информации, чем меньше, имхо. можно в гитхаб все закинуть, если слишком мешает.мимо неоп
>>653969Через проксю ебашить можно [][]
>>653976Т.е. ты не смог разыменовать смартпойнтер? Так пидарас это ты, избавь мир от себя
>>653993шта?
>>653984Ну ок, пусть будет ссылка на msdn, зойчем копипастить?
>>653994я разыменововал, просто скобки забыл. чмо
>>653998Сука, паттерн такой, прокси. Через него можно сделать [][] для чего угодно.
>>654003И нахуя?
>>654004Ты дурак?
>>654012что?
>>654012Чтобы не городить лишнюю сущность?
>>654016В виде гомика
>>653982Кстати да, я эту страницу не видел раньше, можно и заменить. Главное, чтобы была какая-нибудь инфа вообще, а то уже раза три вкатывались ньюфаги, у которых то студия не ставится, то проект не создается.
>>654114Windows: Visual StudioCкачать: https://goo.gl/qgAAc6Инструкция: https://goo.gl/JMd57GLinux: Code::BlocksCкачать: https://goo.gl/ZjrPgbИнструкция: https://goo.gl/mFln8SOS X: XcodeСкачать: https://goo.gl/NEhJC4Инструкция: https://goo.gl/TlN2QC
>>653993Это дурной тон же. Получается не прокси, а такой недоадаптер. Прокси должен полностью имитировать интерфейс, е добавляя ничего лишнего. А адаптер ради переименования одного метода это признак плохой архитектуры.
>>654115Вот это отлично получилось, спасибо. Буду отталкиваться от твоего варианта.
>>654118ОП, это ты?
>>654115>Linux: Code::BlocksАААААААААААААААА БЛЯЯЯТЬ ГАЧАЛЬНИК ЭТОТ ПИДОР ОБОСРАЛСЯ ИДИ МОЦ ЕГО БЛЯДЬ!Замени хотя бы на QtCreator. Ещё dev-c++ замени.
>>654123>Ещё dev-c++ замени.Бы заменил*
>>654123>QtCreatorлагучее говно>dev-c++ замени.что на что заменить?
>>654123kdevelop/qtcreator will do.Но vim все равно лучше.
>>654126Лагучее? ЧтоКак там на железе 1996 года?
>>654129он у меня завис до того как я успел хэлоуворд скомпилировать и вообще не удобный интерфейс кнопочки нужные не могу найти. у других нуфагов будет также>>654128>vimим ещё пользоваться надо научиться.
>>654121Ага.>>654123>>654125>>654126Я думаю, оптимальным будет CodeLite. Он легкий, с дружелюбным для ньюфага интерфейсом, и автодополнение там самое лучшее среди швабодных IDE.
>>654134>АгаА ведь я тебе 4 треда про это говорил.
>>654131Ну потому что у тебя ручечки из срачки, не проецируй на всех.
Перекатился с джавы, интерфейс говно, скобки ставятся не двойные, подсказок мало, выбор из списка вариантов говно. С++ сосет.
>>654195Ну и пиздуй отсюда, чмоша. Программирование не для тебя.
>>654202Си сосет, джава вперед.
>>654221>джава вперед.куда? тоже сосать?
>>654235А то
>>653827Как-то уже советовал анону. Поставь линукс и поищи там пакеты, которые зависят от qt или boost
>>654249У меня и так арчик же.
У меня очередной нубский вопрос. long long у на 64 битное. Но я могу этот тип использовать на 32 битных процах. Это число делится на 2 части(2 регистра)?
Да ставьте уже clion, заебали
>>654327> long long у на 64 битноеОн может быть равен одному байту и это будет полностью соответствовать стандарту, если все остальные типы тоже по одному байту.
>>654333ну я про минимальный размер
>>654333Какой ты умный. Тебя про конкретный случай спросили. Что тогда будет?
>>654333Пиздишь.
>>653775я честно пытался вкурить твой листинг, но твой код-стайл... во мне что-то сломалось где-то на тернарном операторе
>>654327Почему-бы не погуглить?http://stackoverflow.com/q/330374http://stackoverflow.com/q/3072444
>>654333>>654346Впрочем, ты ещё можешь себя спасти, сказав "если байт 64-битный".
>>653872пссс я тебе пальну оче хитрую технику по оптимизации компелирования...тебе не нужны инклуды, просто смотришь на объявление нужной тебе функции в заголовочники и копируешь его к себе в самое начало кода.и да, в зависимости тяни сразу все бинарники, что есть на системе. тогда компилятор сможет съоптимизировать всё это под капотом. и твой конечный бинарник буде тонинькем
>>653937> 2017> если я подключу эту библиотеку, то мой код станет весить больше на 100kb ОБОЖЕ-ИМПЕРАТОР> оптимизацию конечного бинарника линковщиком до сих пор все игнорили
>>654348Что с ним? add поднимает элемент по куче, а del заменяет корень на 0 и топит его ну и возвращает его. sort пока есть элементы выводит корень и просеивает 0 который на его место ложит.
>>654327s kakogo ty reshil, 4to long long == 64bit?eto garantirovano tolko dlya sootv tipov: http://en.cppreference.com/w/cpp/types/integermudila
>>654373>s kakogo ty reshil, 4to long long == 64bit?Не придирайся. long long ≥ 64 bit.
>>654371просто расставляй блядские пробелы.в стране кризис, да. места на жёстких дисках не хватает, надо экономить.но всё же: пробелов расставляй.
>>654378Я ему это еще 200 постов назад сказал. Но он же ебливая пидораха жадная, наверное пакеты моет.
>>654378>int next(int n){return (v[n2+1]>v[n2+2])?n2+1:n2+2;};Как ты это представляешь в одну строчку с пробелами?
>>654385в одну? никак конешнhttp://pastebin.com/t26cfZn6ебать ты жыд
>>654391>int>next(int n)Шутка?
>>654385Нахуя писать это в одну строчку, ебанутый?
>>654396Это простая функция которая просто возвращает адрес потомка. Понятно работает и по несколько раз её пересматривать не надо. Вот и сократил. Не мешает когда в одну. А функцию с одним ретурном на 6 строк это не компактно. Я же заблужусь в этом классе потом.
>>654348>>653777Вы просто не умеете ЧИТАТЬ ЧУЖОЙ КОД.
>>654406Нахуя мне читать высеры неквалифицированных долбоебов, что я там не видел? Пиздуй лабы делать.
>>654406МЫ ДАЖЕ В НЁМ РАЗБИРАТЬСЯ НЕ УМЕЕМ.хотя я и работаю в бодишопе
>>654406> Вы просто не умеете ЧИТАТЬ ХУЁГО НАПИСАННЫЙ ЧУЖОЙ КОД.fixed
>>654136Лол, ну я ведь тоже человек. Бывает, что времени нет читать весь тред, особенно с учетом активности анона. Похоже, бамплимит будет задолго до конца этой недели.
>>654330Я все никак не соберусь попробовать его всерьез. Да и вангую, что студия все равно останется у меня в приоритете, в лучших традициях утят.
>>654370Вспомнил статью, которую недавно читал. Там хаскеллист добивался, чтобы его формочка на wxHaskell компилировалась меньше, чем в 20 мегабайт. Это, конечно, не так критично в 2016 году, да, но все равно возможность фонового необременяющего байтоебства это одна из привлекательных фич крестов.
>>654337> Что тогда будет?Зависит от реализации, например окажется что в long long 32 бита.>>654362В какой строчке стандарт противоречит тому что я написал?
>>654490> окажется что в long long 32 битаВ несоответсвующем стандарту компиляторе, разве что.>В какой строчке стандарт противоречит тому что я написал?http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf#35— minimum value for an object of type `long long int'LLONG_MIN -9223372036854775807 // −(2^63 − 1)— maximum value for an object of type `long long int'LLONG_MAX +9223372036854775807 // 2^63 − 1— maximum value for an object of type `unsigned long long int'ULLONG_MAX 18446744073709551615 // 2^64 − 1inb4 "эта стандарт си, а я пра сиплюсплюс гаварю, ты саснул!!!":std::numeric_limits<long long>::lowest() = LLONG_MINstd::numeric_limits<long long>::max() = LLONG_MAX
>>654490>В какой строчке стандарт противоречит тому что я написал?http://en.cppreference.com/w/cpp/language/types(un)signed long long: Width in bits by data model: C++ standard: at least 64
>>653841Kdevelop
Сколько будет стоить решить это? Мимопхпер из соседнего треда нулевой в крестах.
>>655466$100
>>655466Слишком мало, чтобы за это кто-то взялся. Готовься или переплачивать, или искать доброанона забесплатно.
>>6554660.01 BTC
>>655466> (max zk)2Тебя наёбывают.
>>655683Перечитал, нет не наёбывают.
>>655466http://people.cedarville.edu/Employee/kshomper/cs1220_web/examples/complexNumber.hhttp://people.cedarville.edu/Employee/kshomper/cs1220_web/examples/complexNumber.cppОператоры сравнения сам запили по аналогии:friend bool operator< (const ComplexNumber &a, const ComplexNumber &b);bool operator< (const ComplexNumber &a, const ComplexNumber &b) { return a.r < b.r || a.r = b.r && a.i < b.i;}Отдельный конструктор только для float не нужен, у тебя в обычном уже зеданы значения по-умолчанию.
Аноны, нужна ваша помощь.mysql_real_query(conn,"SELECT * FROM clients.client",200000);res = mysql_store_result(&conn); while((row = mysql_fetch_row(res))) { for (int i=0 ; i < mysql_num_fields(res); i++) dataGridView1->Rows->Add();как теперь в Rows положить строку из вывода запроса?
>>655840Делаешь пандорический захват, лифтишь запрос в монаду, потом строишь рекурсивную схему (здесь подойдёт зигохистоморфный препроморфизм) как монадический трансформер из категории эндофункторов, и метациклически записываешь строку. Любой второкурсник справится. А если делать на анафорических лямбдах — так задачка вообще на пять минут.
>>655901Универсальное решения для любой задачи.
>>655840> dataGridView1> С++/CLI
А почему вы не запилите где-нибудь свою конфу для удобного общения?Например в телеграме или скайпе?
>>655927Есть нелегитимная конфа 2chpr.slack.com в которой в cpp канале 3.5 человека, включая меня, сидим вечерами.
>>655930А вы там новичкам помогаете?И просто мораль поднимаете? Я недавно начал...
>>655931Последнее время один чел вбрасывает тезисы из Дизайна и эволюции, а мы их обсуждаем. Новичков не помню даже. Заходи и задавай вопросы, если тебе формат этого треда не устраивает.
>>655930Пишет что нужны инвайты.
>>655943https://invite-me-to-2chpr.herokuapp.com
>>655953Какой-то подозрительный сайт.
>>655953Подскажи, почему я не могу зарегистрироваться? Вводу любой юзернейм, но кнопка регистрации не горит.
>>655953>>655930Меня оттуда прогнали.
>>655930> 14:05:58>Есть нелегитимная конфа>>655987>15:11:59>Меня оттуда прогнали.Лол. Что ты сделал?
Котоны, а можно как-то посмотреть что и сколько потребляет памяти в определённые моменты работы программы?
>>655998Сказали что там не для обучающихся.
>>656002Профайлер.
>>656021Пробовал обмазаться valgrind, но он выдаёт какую-то нечитаему хуиту по возможным протечкам.
>>656024Ну и я не нашёл там никаких аналогов breakpoint дебаггера, которые можно было бы расставить в определённых местах и наблюдать именно там.
посоны, а давайте анонимную имиджборду запилим на плюсах по типу биткоина? суть такова: можно майнить посты, делать мудерацию, а также запускать сайдчеины
Если с числа инт взять квадратный корень, почему оно выводится как дабл?
>>656047Потому что не каждого инта корень целый
>>656044А я вод хочу борду онли для кодеров. Но пилить не буду т.к. лень. У кого ещё какие идеи на миллион?
Интересный язык. А вообще, змейку или калькулятор на С++ легко написать?
>>656066>Интересный язык. Нет.
>>656087Джавадаун в треде, я спокоен.
>>656088Детектор чини, маня.
>>656066Их и на брейнфаке не трудно написать.
>>656066консольный разве что
>>656092А кнопки, окно - тяжело, что ли, написать?
>>656096В stl гуя нет, удачи ебаться с библиотеками
>>656099Что за stl?Я, вообще, игры хотел писать...
>>656101> Что за stl?> Я, вообще, игры хотел писать...Нууу, удачи...
>>656099В stl и консоли нет. Есть только потоки, которые не ебут, куда данные выводятся.
>>656102Я, просто, недавно изучаю язык, может что не понимаю.На нём тяжело написать все эти кнопки, что ли?
>>656106На голых крестах и stl их написать НЕВОЗМОЖНО.
>>656103Кактак? А как тогда их выводить? сть такой способ читать/писать потоки в файл, но так чтобы в консоли не работало?
>>656108А что надо для этого? Чтобы написать простенькую 3д игру?
>>656106Нет, тебе мозги ебут просто.
>>656111>3д3д библиотека
>>656111> простенькую 3д игруох бой хир ви го
>>656111шкальник хочет в геймдев, ты знаешь чики-чики-чики-чики-та.
>>656117>>656115>>656114Мне кажется что я в чём-то ошибся, но в чём?
>>656119В том, что хочешь делать то, в чём вообще нихуя не понимаешь.
>>656119С выбором языка начального уровня. В шапке прикрепленного треда написано: python.
>>656122Типичный школьник с рашкоборд. Человек к тебе пришел с вопросом, а ты самоутверждаешься.
>>656123Я слышал что абсолютное большинство игр пишут на С++?
>>656119Ты переоцениваешь свои силы. Начни с основ, читни книгу, потом уже выберешь средство для рисования графики
>>656126Большинство игр пишут на юнити и уече, которые написаны на c++
>>656129А С++ компилируют в ассемблер.
>>656126Инди разработчикам стоит брать Java (Minecraft) или C# (Unity, XNA и т. п.). C++ для движкописателей игр ЫЫЫ класса, с таких вещей не начинают мамкины гейдевелоперы (а если начинают, то заканчивается это быстро с потерей интереса).
>>656127Я, как раз, читаю книгу.Кстати, я уже 3 книги скачал - страуструп, с++ с шапки для продвинутых, и с++ для программирования игр.>>656129Я, как-то, запустил юнити и мало что там понял. Там надо эту программу изучать, а не язык.>>656135Ну, я хотел для начала создать простенькую змейку. Как на мобильниках, не думаю что это сложно, так?А потом усовершенствовать, написать физику етц.
>>656138>Я, как-то, запустил юнити и мало что там понял. Там надо эту программу изучать, а не язык.То что реализовано в юнити, самостоятельно ты не напишешь за всю свою жизнь. Ты даже примитивное подобие 3д рендера не запилишь раньше чем через полгода на плюсах
>>656138>скачал
>>656143Съеби в /b/ уже, говноед.
>>656138>я уже 3 книги скачалЯ знаю каратэ, джиу-джитсу, самбо, дзюдо и... много других страшных слов!
>>656142А как инди разрабы делают игры с 0? Я вижу некоторые вообще делают с 0 такое, что волосы дыбом встают - overgrowth вообще 1 человек с 0 написал.
>>656148Ну, например до этого они ебошили лет 5-10 в хайлоад-энтерпрайзах?
>>656138Ну вот бери python и делай свою змейку. Для начала тебе нужно научиться программировать, похуй на чем, а потом взять наиболее удобный язык для своих задач. И это не С++, который дяди используют для бескомпромиссной производительности и для изучения которого нужно одних книг прочитать штук 10.
>>656148> overgrowth https://en.wikipedia.org/wiki/Wolfire_GamesВот столько говна им пришлось написать перед тем как выдать overgrowth
>>656155>>656153А игры типа древнего 1 дума тяжело написать?
>>656162Даже на денди игры командами писали, в одно ебало любую игру сложнее змейки тяжело писать
>>656162Смотря что ты понимаешь под "типа". Софтверный рендеринг? Написать можно. Линейную алгебру немного знать надо.
>>656165>>656169Что-то вы меня расстроили совсем.
>>656162Любой 3д-движок очень тяжело написать и большинство предпочитает их лицензировать. Дум, квейк, unity или unreal engine - это уже частности.
>>656174Ну, можешь взять юнити и потягать ползунки, но вряд ли ты сможешь таким образом сделать что-то сложнее змейки.
>>656162Найдите ему исходники дума, мне лень.
>>656182https://github.com/id-Software/DOOM
>>656185В каком там файле код игры написан? Я немного не понял...
>>656190Во всех оканчивающихся на .c .h .asm
>>656190Графика написана во всех файлах начинающихся с r_ вот тут https://github.com/id-Software/DOOM/tree/master/linuxdoom-1.10 . Другие префиксы тоже что-то значат.
>>656196Выглядит дико, альсо, там во многих файлах нет и тысячи строк кода т.е. всё довольно простенько описывается.
>>656200Во всём проекте 61665 строк, удачи написать самому :)
>>656200Ага, и всего-лишь сотня файлов, хуйня.
>>656205>>656207В коде еще полно пустых мест и коментариев.Я, кстати, думал что дум на си написан.
>>656218>думалА на чём он по-твоему написан?
>>656220Да зарепорти жирного уже.
>>656222А вдруг это правда залётный додик. Не в гд же его слать
>>656222>>656226Ладно, не буду вас раздражать. А то и у себя время отнимаю, и вам мешаю.
>>655901Затроллил ты меня анон. Я решил всё делать через стандартные пакеты VS.https://msdn.microsoft.com/library/fbk67b6z(v=vs.100).aspxВот по этому ману.
Чем Qt лучше Windows Forms в плане использования для гуи?
>>656457Qt кроссплатформенно.
>>656457Тем что WinForms - .net хуитка, на которой можно писать с забытым майкрософтом костылём в виде C++CLI (который нихуя не C++).
Пилю сервер на Qt. Хочу принять POST запрос с хрома/хромиума. Заголовки и статусная строка приходят а тело запроса нет. Ваши идеи
Поясните пожалуйста, почему чар выводит какой-то странный значёк, а не то что должен?Это код аски.
>>656536> значёкПотому что ты неграмотное хуйло.
>>656536В таблицу символов посмотри. У этих номеров нет своих значков. 32 к выводу прибавь
>>656546С кем не бывает, ну и не в этом суть проблемы. Извини, если задел твои чувства.
>>656536Ты пытаешься водить непечатаемые символы, не?
>>656550>>656556Почему если я у себя через alt + 1 ввожу, то выводится смайлик?
>>656559При чём тут альт? В таблицу ascii посмотри
>>656534>Ваши идеиидея номер ноль: показать кот
>>656563Я думал что через альт + число = вывод аски значка.Тем более что если ввести альт + 97, то выведет а, как и все другие значения. Почему так?
>>656567>Почему так?Загугли какую кодировку альт выводит. Возможно первые символы с ascii совпадают. и в ascii всего 255 символов, а в альте больше
>>656565Хром не шлет тело
>>656534> HTTP-сервер на QtНо нахуя? Ведь есть божественный асио, который к тому же в TR2.
Вот аналогичная проблемаhttp://www.askdev.ru/question/7009/%D0%A7%D0%B5%D0%B3%D0%BE-%D0%B6%D0%B4%D0%B5%D1%82-%D0%BF%D0%BE%D1%81%D0%BB%D0%B5-%D0%BE%D1%82%D0%BF%D1%80%D0%B0%D0%B2%D0%BA%D0%B8-%D0%B7%D0%B0%D0%B3%D0%BE%D0%BB%D0%BE%D0%B2%D0%BA%D0%BE%D0%B2-%D0%B2-POST-http-%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B5-%D0%A5%D1%80%D0%BE%D0%BC-%D0%BF%D0%B5%D1%80%D0%B5%D0%B4-%D0%BE%D1%82%D0%BF%D1%80%D0%B0%D0%B2%D0%BA%D0%BE%D0%B9-%D1%82%D0%B5%D0%BB%D0%B0-%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81%D0%B0/
>>656583>божественный асио>который к тому же в TR2Я надеюсь комитет передумает. Серьёзно.
>>656611Чому? Годнота же.
Поясните пожалуйста, почему чар так странно реагирует на числа, выше 127?
>>656635Нет. Дочитай главу.
>>656639Ты знаешь что я читую и где!?
>>656641Нет. Но там должны пояснить.
Кто знает куда хром дел мою картинку------WebKitFormBoundaryfAjvaUXbrUBQlmR0Content-Disposition: form-data; name="photo"; filename="Снимок экрана от 2015-06-26 15:24:11.png"Content-Type: image/png------WebKitFormBoundaryfAjvaUXbrUBQlmR0--
>>656644>fAjvaUXbrUBQlmR0Чёрным по белому написано. В /dev/null поищи.
>>656615Хоть одно его достоинство назови, кроме конченной оверархитектурности (которую самые отбитки из илитки считают чем-то хорошим).На нём даже блять нет ни 1 нормального http сервера (кроме pion который по первормансу на уровне нодыжс), который либо быстро работал бы, либо не падал где-то в недрах буста и не обсирался с чем нибудь вроде алгоритма Нейгла и кучи аналогичной хуйни имеющейся по дефолту.Есть куча реально актуальной для текущих тенденций хуйни вроде акторов, корутин, транзакционной памяти и кучи прочего - в стандарт пропихивают ёбаный буст, код на котором в 5 раз больше кода на обычных сокетах (и причём имеет свою изголённую экосистему понятий и паттернов - нормальный код с сокетами куда легче читать).
Сук, он в Base64 отправляет что-ли
>>656649>бустИмею ввиду именно асио, но всякие фениксы из его комплекта не меньшей помойности библиотеки.
Ссаный хром, он даже текст в пост запросе не передает
>>656649> Хоть одно его достоинство назовиКросплатформенные, headers-only, без дополнительных внешних зависимостей (кроме STL), асинхронные сокеты.Если ты знаешь что-то такое, но лучше - с удовольсвием буду использовать.
Пасаны, что делать, где прячется тело пост запроса в хроме плиз
>>656665Да возьми ты уже curl.
>>656667Что с ним делатть, мне нужно из бровзера послать картинку
Посылал "qq" а их нет
>>656663>КросплатформенныеВсе современные сокетные библиотеки.>headers-only,В чём плюс-то? В том что хэловорд 10 минут компилируется? Разве что под спермой без репозиториев и нормальной структуры фс проблемно это говно руками тащить.>асинхронные сокеты.См пункт 1.>Если ты знаешь что-то такое, но лучше - с удовольсвием буду использоватьДа даже сгнивший libevent был лучше, лол. Сейчас самая адекватная - libuv.
>>656680> Все современные сокетные библиотеки.Из более-менее живых я и выбрал асио лол, их там всего штук 5 будет, а живо-то хорошо если 3.> В чём плюс-то? В том что хэловорд 10 минут компилируется? Разве что под спермой без репозиториев и нормальной структуры фс проблемно это говно руками тащить.Ну, собственно мне как раз и нужна возможность ёбнуть либу сразу в build tree и получить в итоге бинарь с минимум внешних линков.> Сейчас самая адекватная - libuv.Спасибо, посмотрю.
>>653506Boost
Поясните, почему С считается легче ++?Я думал что он более базовый и сложный.
>>656973Больше хуиты надо учить типа классов и шаблонов.
>>656973в нем радикально меньше говна потому что
>>656973C++ куда более обширен, и включает в себя сам С.
>>656973Стандарт первого 200-300 страниц, второго ~1000. Вопросы?
>>656992>Вопросы? Почему ты трогаешь себя по ночам ?
Что вы там такого на сокетах мутите?
Бамп
>>657105Зачем?
>>657121Чтобы у тебя пригорело))0
Хотет pdf-ридер со встроенным переводчиком на лету.Вот думаю, накидать с нуля, или взять рабочий вроде evince/Okular и мутить с ними дальше? Хотя там зависимостей - я ебал.
>>657127>Хотет pdf-ридер со встроенным переводчиком на лету.Вроде есть софт, переводящий при наведении на/выделении слова.И от ридера не зависит.
>>657132Странно. Я не нашел. Долбоеб.Ладно тогда.
>>657133http://askubuntu.com/a/95257под сперму тоже 100% есть такие софты, не один.
>>657138ладно-ладно, я понял, что не умею гуглить хватит
>>657144А ещё есть специальные книги в которых уже вставлен перевод слов, устойчивых выражений или даже целых предложений.
>>657147Более того, есть вообще полностью переведённые книги внезапно.
Ребзи, есть текстовый файл, в котором я напечатал цифры как в матрице. Как из него сделать двумерный массив?У меня какая-то шляпа заносится в него
>>657322лол. И что у тебя там "заносится"?А вообще fstream fin("file.txt");int n = 0;fin >> n;
>>657323>fstream fin("file.txt");ifstream fin("file.txt");
>>657323хз, пробелы я так понял считает + проблемы с чтением мейби#include <iostream>#include <fstream>using namespace std;int main() {const int n = 5;int a[n][n]; ifstream fin("text.txt"); // открыли файл для чтения for (int i =0; i < n; i++){ for (int j =0; j<n; j++){{ fin >> a[j]; cout << a[j]; } }}cin.get();}
>>657325#include <iostream>#include <fstream>using namespace std;int main() {const int n = 5;int a[n][n];ifstream fin("text.txt"); // открыли файл для чтения for (int i =0; i < n; i++){ for (int j =0; j<n; j++){{ fin >> a[j]; cout << a[j]; }}}cin.get();}>>657325
мда сюда не получается скопипастить)
>>657329http://ideone.com/
в общем перебираю массив двумя циклами for и ввожу в него данные с файла
>>657327fin >> a[j]cout << a[j]
>>657331http://ideone.com/Mg6pq6даже без файла выводит не то
>>657331> fin >> a[j]Такс-такс, что тут у нас? Ахаха, пытаются целый массив считать с файла.
>>657333у тебя файл не в той папке. Если студия, то кинь файл с исходниками. >>657334Это двач спиздил . Сам сначала об этом подумал.
>>657336>Если студия, то кинь файл с исходниками.Если студия, то кинь в папку с исходниками.
да текстовый файл в студии и создалhttp://ideone.com/jbDMWKкстати, с одной строкой таки работает ( в студии)
>>657325>>657327Так не будет работать. Не спрашивай, почему.
>>657338Хуй знает. Твоя дрисня у меня норм работает. Скинь содержимое файла.
http://ideone.com/0aCXoG Вот слегка переправил, в студии заработало, ето не то, что мне нужно было 12 часов назад, но уже прогресс.
>>657342да в файле цифры от балды написал как в в матрице 5х5
>>657343А. Так и сказал бы, что тебе нужен ровный вывод. http://ideone.com/jJPMFY
>>657343Короче возьми книжку из шапки и делай по ней примеры. Или видосы там есть. А то твой код на говно похож.
>>657343http://stackoverflow.com/a/7707172
>>657348ну я просто хотел разобраться что к чему, так ж не важно говно или нет
>>657350сча еще попытаюсь в динамический массив запихать чтоль
Анон, как в qt5 правильно подключаться к бд?#include <QtSql/qsql.h>#include <QtSql/QSqlDatabase>#include <QMessageBox>#include <QCoreApplication>#include <QApplication>#include <QtSql/QSql>#include <QtSql/QSqlDatabase>#include <QtSql/QSqlDriver>#include <QtSql/QSqlQuery>вот инклюды, на клик я делаю : QSqlDatabase db = QsqlDatabase::addDatabase("QMYSQL");и потом работа с переменной дб, а после bool ok = db.openчто я делаю не так?
>>657362всё анон, разобрался.
>>657343А вы ещё мой хипсорт ругали за отсутствие пробелов.
Посоны нужен алгоритм для покрытия одинаковыми элипсами прямоугольной и\или элиптической области. На выходе нужно иметь кординаты центров этих элипсов. Можно покрывать с перекрытиями или не полностью, но не ниже определенного предела (90-95%). Есть у кого-нибудь ссылка на реализацию этого алгоритма (не пейпер с Ellipse Packing алгоритмами и матешей) или библиотека в которой есть это?
>>657406тебе скорее в /sci/ к математикам.
>>657375а блин, не получилось.void Main::on_connect_clicked(){ QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL", "mydb"); db.setHostName("localhost"); db.setDatabaseName("clients"); db.setUserName("manager"); db.setPassword("I_think_y0u_lie"); bool ok = db.open(); if (ok) QMessageBox::information(NULL,QObject::tr("Информация"),tr("Не все так плохо..."));}сама функция, и ошибка main.obj:-1: ошибка: LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall QSqlDatabase::~QSqlDatabase(void)" (__imp_??1QSqlDatabase@@QAE@XZ) referenced in function "private: void __thiscall Main::on_connect_clicked(void)" (?on_connect_clicked@Main@@AAEXXZ)в pro файле прописано QT += core gui sqlВручную подключил Qt5Sqlи ничего не вышло, помогите с ошибкой, в гугле ничего внятного нет.
>>657427Пришло время переустановить Ш1ИD0W2.Как бы суть ошибки:С П Е Р М АПЕРМА
>>657447предлагаешь обмазываться Visual Studio?
>>656006Лол, это я сказал. Ты пиздец маня, там всем рады.
>>657447ох лол, я одну букву неправильно написал.Теперь осталась одна ошибка:qtmain.lib(qtmain_win.obj):-1: ошибка: LNK2019: unresolved external symbol _main referenced in function _WinMain@16вот её я хуй знает как решать.
>>657453Ты, судя по ошибке, и без того компилируешь мсовским компилятором, смена IDE не поможет. Я бы посоветовал слезть с шиндовса, но хули толку.Попробуй очистить и полностью пересобрать проект, либо скомпилировать mingw. Ещё как вариант добавь в .pro файле libs += <путь до QSqlDriver.lib/dll>
>>657458это я уже решил. У меня осталась проблема с qtmain.libи ругается на мейн.Меня в VS не устраивают нерабочие таблицы для того, чтобы впихивать в них инфу из селектов.Я хотел сделать через mysql.h в VS, но потом погуглил и увидел, что такие решения только на шарпе есть.
>>657456Тут 2 варианта: ты либо запоганил объявление main(), либо куда более вероятно - пытакшься компилировать гуй приложение с настройками линкера для консольного (или наоборот).
>>657454Зашёл - посмотрел что какой-то питушок написал хорошо про билдер - вышел.
>>657468Ну так аргументов у тебя не было, ясен хуй.
>>657471Аргументы я писал здеся 2-3 треда назад, повторять лень. Лучше достоинства напишите кто нибудь.
>>657468> билдерЭто который гнумобилдер что ли?
>>657466Main::Main(QWidget *parent) : QMainWindow(parent), ui(new Ui::Main){ ui->setupUi(this);}вот main, он создался автоматически.А где глянуть то, что линкер может быть выбран для консоли?
>>657484Эээ, вась, это не он. Это конструктор говна которое овнится в мэйне. Открой main.cppПогугли как устанавливать флаги линкера в qmake. Для вс компилера это /SYBSYSTEM: если я правильно помню.>>657480>гнумобилдергумнобилдерНет, этот-то хороший текстовый редактор, я про цэпэпэбилдер.
>>657427А если оставить только qsqldatabase и qsqlquery? У меня в 4.8 все работает, правда с qodbc.
>>657487#include "main.h"#include "ui_main.h"Main::WinMain(QWidget *parent) : QMainWindow(parent), ui(new Ui::Main){ ui->setupUi(this);}Main::~Main(){ delete ui;}void Main::on_connect_clicked(){ QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL", "mydb"); db.setHostName("localhost"); db.setDatabaseName("clients"); db.setUserName("manager"); db.setPassword("I_think_y0u_lie"); bool ok = db.open(); if (ok) QMessageBox::information(NULL,QObject::tr("Информация"),tr("Не все так плохо..."));}вот что в main.cppЯ что-то после эмбаркадеро что-то не догоняю.
>>657492Вааась, у тебя нету точки входа. Н-е-т-у.Выучи язык для начала, хотя бы основы.>Я что-то после эмбаркадеро что-то не догоняю. (:
>>657492>Я что-то после эмбаркадеро что-то не догоняю. И поставь QtCreator.
>>657499бляя, что ж я такой пиздоглазый.
>>657500я в нём и сижу.
>>657476Мультиплатформа, кастомный гуй на изичах, работа с бд.
>>657513>МультиплатформаОтносительно Qt - хуйня. Если смотреть простую переносимость - любой открытый компилятор обоссыт ебало (у них какое-то говно на основе шланга).>кастомный гуй на изичахОн, блять, даже в ёбаном gtk уже на изичах делается.>работа с бд. ну это вообще кек.Собственно, вот на этот вопрос обсыкивали на билдер: >>634056
>>657520>Если смотреть простую переносимостьИмеется ввиду не гуйня и прочее.
>>657520Уринист хуев, съеби в /b/ с такой лексикой.
>>657541Ну мааам!
Вопрос:Пишу свободную функцию которая принимает концепт SinglePassRange, разумеется по значению. Но всякие пидоры, которые будут звать, могут засунуть туда не iterator_range, а например boost::small_vector. Хочу внутри поставить static_assert в духе has_advance_begin<SinglePassRange>::value. Как быть?
Что это за конструкция. Понятно что класс наследуется от QObject, но что значит стоящий перед именем класса QHTTPSERVER_API. Что он делает
>>657584Может это макрос какой нибудь, ёбана, для кококросплаформенастя.Вот как здесь: https://github.com/altera2015/ttwatcher/blob/master/qhttpserver/src/qhttpserverapi.h
>>657638Ну да, пример оттуда. Но как он работает
>>657648Хуй знает вроде пустой дефайн. Дефайн без значения заменяется на пустую строку.
>>657658А вообще есть примеры по конструкции вида:class [some] %className% {}Что может стоять на месте some например
>>657584>>657666расходимся#if defined(QHTTPSERVER_EXPORT)#define QHTTPSERVER_API __declspec(dllexport)#else#define QHTTPSERVER_API __declspec(dllimport)#endif#else
>>657676Спермокостыли-спермокостылики.
подскажите кто, а то я заебался тупить.У меня есть массив и мне нужно в зависимости от первого значения строки сложить ети строки с друг другом.Т.е. например, первое число в первой и в третьей строке 1, мне нужно получить сумму этих строк ( без значения этой единицы) . Пытался сдtлеть c помощью неск. циклов for и switch - выходит непонятно что.
>>657676окclass __declspec(dllimport) QHttpServer : public QObject{}и как это работает
>>657688>Спермокостыли__attribute__((visibility("hidden")))__attribute__((visibility("default")))для ляликса
>>657714https://msdn.microsoft.com/ru-ru/library/dabb5z75.aspx
>>657570SFINAE, очевидно же.
http://ideone.com/VXk4nY вот тащемта продолжение попытался сделать1 2 3 4 51 4 1 2 72 6 8 9 02 3 1 2 23 3 3 3 3для этих цифр выдает summ1 = 8summ2 = 24Хотел чтобы программа в зависимости от первого значения выдала суммму строк со значениями 1 и 2, так что откуда взлись 8 и 24 не вкурю.
>>657809сначала вас, пидоров, надо бить ногами, пока код форматировать не научитесь, а уже потом за логику и задачу толковать.
>>657811проиграл чет
>>657811блин ну глянь после 30й строки)
>>657811Теперь поняли что я красиво хипсорт написал без пробелов?
>>657819нет, переделывай>>657823нет, ты тот ещё уёба
>>657825>нет, ты тот ещё уёбаНу у меня же было красиво и бесплатно.
>>657828>бесплатноБлядь. Опечатка. Компактно.
>>657828иди наверни пробелов. до сих пор рябит в глазах от твоего месива
https://ideone.com/FkFj0T>метод, принимающий в качестве аргумента тип данных без указания имени Аноны, поясните, что это такое? Как это возможно? Зачем это нужно?
>>657325a[j]
>>657901[ i ] макаба съедает т.к. есть ббкод [ i ] [ / i ]
Напомните пожалуйста, если переменная объявляется вне класса без static и const какой она будет? Глобльной?
И как инициализиировать static const QHash
>>657953Если в cpp, то глобальной для модуля. Если в хедере, то глобальной везде где есть этот хедер (привет конфликтам линкера)
Предположим я захотел создать класс, который хранит(в конструкторе все парсится) http сообщение(то есть заголовки, статусную строку и тело). Я хочу сделать так, чтобы в объекте изначально, при создании, уже хранились некоторые нужные для парсинга значения. А именно имена заголовков http сообщения(accept, date и прочие). Так как мне предстоит вычленять из запроса имена заголовков, мне придется воспользоваться поиском подстроки. Искать я буду с помощью тех значений которые храняться в классе изначально. Хранить придется в QHash<int, QString>. Чтобы потом получить число соответствующее найденному заголовку. Так вот, QHash придется сделать статическим, дабы он не создавался в каждом объекте класса. Но мне же надо запретить его изменять, то есть сделать константным. Но при этом потребуется инициализация. Как ее выполнить?
Вот приведу примерhttps://github.com/altera2015/ttwatcher/blob/master/qhttpserver/src/qhttpserver.cppв 32 строке определяется qhashа в конструкторе начиная с 38 строки добавляются значения. Причем при каждом создании объекта, присваивание будет повторяться? Наколько это разумно?
Конечно можно не создавать новых объектов, но как сделать чтобы QHash был ВНУТРИ класса, был статичным с нужными значениями. Или может его возможно определить за пределами класса, о так чтобы он был доступен только определенному классу
народ а че с работой, можно ща куда нибудь устроиться c++ джуниором?
>>658013С И Н Г Л Т О НИНГЛТОН
>>658017Нет, нужна ИНКАПСУЛЯЦИЯ
>>658013Гугли аналоги анонимного static-блока из джавы.
>>658004Значением функции.
>>657797Да, да void_t, declval и т.д. Я уже сделал. Просто проверяю вас, чувачки.
>>657797thrust, ты?
>>658019И как синглтон противоречит инкапсуляции?
Анон поясни, как к кнопке в qt привязать действие?void Main::on_pushButton_clicked() есть действие, но через QObject::connect оно не подключается.
>>658273Плохо подключаешь.
>>658273Код покеж.
А обработчики исключений вообще юзать нужно? Можно же просто код ошибки возвращать.
>>658423Можно, но осторожно.А вообще не надо, по возможности. Это тебе не жава.
>>658423Зависит от принятой идеологии разработки. Некоторые используют, некоторые нет. Использование исключений в языках без GC может привести к проблемам и требует увереного понимания что механизма их работы. Но в свою очередь они могут упростить код.
>>653023 (OP)Могу ли я использовать VS для удаленной разработки на linux машине?
>>658513Если у тебя на твоей рабочей машине сперма – конечно, но немного нужно поебулится.
>>658516Поебулиться*быстрофикс от местных граммарнази
>>658011>>658004какое-то говноедство>А именно имена заголовков http сообщения(accept, date и прочие).зачем?>Так как мне предстоит вычленять из запроса имена заголовков, мне придется воспользоваться поиском подстроки.ЩИТО? парсь все, складывай в QMap>Искать я буду с помощью тех значений которые храняться в классе изначальноQLatin1String>Хранить придется в QHash<int, QString>. Чтобы потом получить число соответствующее найденному заголовкупочитай матчасть по протоколу, тебе это не нужно>Так вот, QHash придется сделать статическим, дабы он не создавался в каждом объекте класса. Но мне же надо запретить его изменять, то есть сделать константным. Но при этом потребуется инициализация. Как ее выполнить?// функция которая набивает значенияQHash makeData() { ... }// переменная которая будет хранить данныеstatic const QHash myHash;// инициализация статического членаQHash QHttpServer::myHash(makeData());
Аноны, помогите с такой интересной ошибкой на qtvoid Widget::on_pushButton_clicked(){ QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL", "my_sql_db"); db.setHostName("localhost"); db.setDatabaseName("clients"); db.setUserName("manager"); db.setPassword("I_think_y0u_lie"); bool ok = db.open(); if (ok) QMessageBox::information(NULL,QObject::tr("Test"),tr("Tesr"));}вот код, а сообщение при нажатии на кнопку таково:QSqlDatabase: QMYSQL driver not loadedQSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7Я даже в .pro файле написал QTPLUGIN += sqldriversно что-то ошибка не исчезает
>>658516Ну у меня на ноуте сперма, но сечас я работаю на виртуалке c xubuntu, я хочу нативную иде + терминал до виртуалки без гуев с минимальным centos'oм.
Пробую разобраться со sql на qt QSqlQueryModel model = new QSqlQueryModel; QSqlQuery query(db); query.exec("SELECT FROM clients"); model->setQuery(query); ui->tableView->setModel(model);сделал вот так, но tableView пустой, что я делаю не так?
>>657846Есть два... стулаНет, есть метод/функция/конструктор/етц, вызов работу которого ты хочешь каким-то образом модифицировать/параметризовать/повлиять на работу снаружи. Тогда делаешь перегрузку этой функции. Так как параметр чисто формальный и внутри не нужен, то его можно опустить, чтобы компилятор не ругался на unreferenced/unused argument.https://ideone.com/FgZ4fX пример с логгингом немного надуманный, обычно условное логгированние закатывают под ifdef'ы. Но общую идею должно дать.
>>658016Таким, как ты, -- нет.
>>658435>упростить кодКак?учу кресты 21 день не вижу в них ничего полезного
>>658914Сравни http://pastebin.com/RsFewWKx и http://pastebin.com/Hd30KXmLВ первом случае ошибки обрабатываются так, как это делали деды через коды ошибок, во втором -- исключениями. В каком случае легче понять где идёт логика, а где обработка ошибок?
>>658914>>упростить код>Как?Не нужно в каждой функции делать проверки возвращаемого значения вызываемых функций. Если в какой-то из них возникнет исключение, оно уйдёт вверх по иерархии вызывающих функций и его поймают те, кому надо.
>>658435> Использование исключений в языках без GC может привести к проблемамДля этого вот всякие raii придумали.
>>658941Сам понял чё пизданул? Речь об исключениях: в неумелых руках всё твоё raii пойдёт по пизде, если исключение обработать не так.
>>658942Resource Acquisition Is Initialization (RAII) is a programming idiom used in several object-oriented languages, most prominently C++, where it originated, but also D, Ada, Vala, and Rust. The technique was developed for exception-safe resource management in C++
>>658931>>658938Код упрощает только если дохуя вложенных функций?
>>658946Он упрощается дажу у долбоёбов, хуярящих весь код только в main в файле laba1.cpp
>>658945Ничто не мешает дебилу с raii кинуть исключение в деструкторе а потом удивляться хули всё сломалось
>>658949
>>658949блядь там еще деструкторкак вспомню этот гемор мама ради меня обватна
Как зная номер элемента узнать какой отрезок он покрывает в верхнем ряду? Это дерево отрезков и нумерация на пике.
>>658942>Сам понял чё пизданул? Речь об исключениях: в неумелых руках всё твоё raii пойдёт по пизде, если исключение обработать не так.Бля, ну не кидай в деструкторах исключение, хуле как дебил, а?
>>658941> Для этого вот всякиеНу так имелось ввиду не то что исключения (в языках без GC) это ГРОБ ГРОБ КЛАДБИЩЕ ПИДОР а что для безопасного их использования нужен определенный багаж знаний. Поэтому некоторые предпочитают вообще не ебаться с ними.
>>658970я бэ запихал все ссылки на элементы n-го уровня в вектор. номер в векторе - нужный тебе элемент. но я тупенький, мож кто что лучше предложит
>>659069Да. Нужно лучше. И за константу.
>>658959Чумазый пиздёныш с громкой отрыжкой и отчаянным воплём ввалился в комнату, где крестогоспода обсуждали преимущества деструкторов. Джаваблядок ошарашенно вылупился на удивлённых сэров, за пазухой у него явно было что-то запрятано. Ну, что у тебя там, зассыха? - снисходительно промолвил самый молодой из господ. А-а-фоть - заикаясь промямлила замарашка и трясущейся рукой вывалила на дорогой персидский ковёр кучу так и не выполнившихся финализаторов. Лица элитариев побагровели от такого неслыханного безобразия. Камёрдинера сюда, живо! - воскликнул опять же самый молодой и самый вспыльчивый из них. Оказия сия окончилась, как можно безошибочно предугадать который раз не в пользу плебса, оно и к лучшему, не место черни среди высшего общества.
>>658970http://ideone.com/lAuqkQ
>>659114
>>658970Ну, во-первых, неясно, по какому правилу нумеруется дерево.
>>659107истиный посмеялся в голосинуvoid Regim(){ if(reg==6){Set_B_D();return;} if(i%2){e=time[reg][i/2]/10; if (ogr[reg][i/2]<=10){e=20;}} else {e=time[reg][i/2]%10;} if(set&&(set_n!=4)){ if (set_n%2){time[reg][set_n/2]=buf10+time[reg][set_n/2]%10;} else {time[reg][set_n/2]=time[reg][set_n/2]/1010+buf;} if (time[reg][set_n/2]>=ogr[reg][set_n/2]){time[reg][set_n/2]=0;buf=0;}} }
>>658970От твоей нумерации можно легко перейти к нумерации от корня вниз, где корень имеет номер 1: n_new = root_old - n_old + 1Эта операция обратима: n_old = root_old - n_new + 1 и делается за константуВ обычной нумерации потомки узла n есть узлы n•2k..n•2k+1-1где k - разница между уровнями ноды и её потомков.Т.е. если узел имеет номер 0b00101, то её потомки двумя уровнями ниже имеют номера 0b10100..0b10111Самое сложное - узнать на каком уровне находится твой узел. Это можно подсчитать также кол-вом бинарных сдвигов(делений на два), чтобы номер узла стал равным единице или другим, более хитрым подсчётом двоичного логарифма, к которому надо прибавить 1.Если твой root_old достаточно мал, то можно наоборот - сдвигать влево пока полученный номер меньше либо равен root_old + 1. Причём сдвигать два числа - оба в начале равны n_new, но один сдвигается с добавлением нуля в конец, а другой с добавлением единицы:low_bound•=2high_bound=(high_bound•2)+1Тогда в конце у тебя будут сразу концы отрезков или overflow и бесконечный цикл
>>659129> сдвигатьНо тогда же сложность будет линия или логарифм (смотря как двигать) а не константа.
>>659129может годных алгоритмов вкинеш?усреднения аналоговых величингде процентов 10 из них ошибка.
>>659134Логарифм. Быстрее сделать не выйдет, так как подсчитать логарифм за константу затруднительно, а кэшировать номера уровней бессмысленно
>>659142Задачу поконкретнее опиши, может и вспомню что-нибудь.
>>658716Помню с этой ошибкой ебался дня полтора. Фишка в том, скорее всего, что мускл у тебя с 64битными либами стоит он же у тебя в PATH прописан, так?, а Qt распространяется 32битный, вот и не линкуется. В общем надо 32битный MySQL поставить
Нужно сделать проект, подскажите идею
>>659373хайлоад сервак для стриминга видео/аудио
char *str = "stroka"Как вообще устроено создание значений, задаваемых вручную? Я так понимаю, значение "stroka" - это константа и хранится в статической памяти?
>>659373"stroka" - литерал. http://goo.gl/cznVsm>это константада>хранится в статической памятида
>>659520>>659513
>>659114Можешь описать как это работает?>>659129Спасибо. Щас попробую.
>>659653> Можешь описать как это работает?Идея как у анона >>659129 только немного другой подход. Длина отрезка (segment_size) обратно пропорциональна уровню на котором находится узел - корню соотвествует полный отрезок, следующему уровню половина, следующему четверть и т.д. Положение отрезка зависит от положения узла на своем уровне (position) - если узел на своем уровне крайний слева то ему соотвествует крайний левый отрезок, крайний справа - ему соотвествует крайний справа и т.д. Через положение узла на своем уровне высчитывается начало отрезка, оттуда из длины отрезка высчитывается конец.
Аноны, решил сделать свой первый серьёзный проект на qt, почитываю доки, но вот вопрос: как из TableView, который заполнен через sql, как достать оттуда выделенную переменную?
>>659731читай докиQTableView::selectionModel()
Ананасы, идет кто на С++ user group в ДС-2?
>>660570Ссыкотно, там же серьезные дядьки будут тусоваться, а не молодежь.
>>660570> Билет 7500 руб.))))))))
>>660570Трансляция/видео будут?
>>660755Будут https://m.vk.com/videos-77278886
>>656185V_CopyRect( int srcx, int srcy, int srcscrn, int width, int height, int destx, int desty, int destscrn ) { тяжко же было писать без ООП
Аноны, как прочитать текст из файла при помощи IStream? Гуглить честно пытался, но при существовании istream найти что то по IStream невозможно.В частности меня интересует пример PreviewHandler'a от MSПри инициализации через стрим[code]IFACEMETHODIMP RecipePreviewHandler::Initialize(IStream *pStream, DWORD grfMode)[/code] мы получаем указатель на IStream.Затем происходит загрузка XML как на пике. Каким образом прочитать просто текст?
>>660949Как вижу этот HRESULT, так сразу блевать тянет.
>>660970ШIИD0W2А от NULL, и кода на макросах в 2016 и в стреде о C++ не тянет?
>>661026Код пятилетней давности.Есть какие то современные библиотеки, чтобы сделать расширение для Shell легко и просто?
>>653023 (OP)В чём прикол оппика?
>>661103Профессиональный юмор.
>>661103Я ньюфаг но предположу.По идее можно создать класс B, похожий на A, только с открытыми полями и при помощи приведения типов преобразовать A в B и инкапсуляции уже не будет.Если не прав, то поправьте.
>>661118Лал? Как этот факт выделяет C++? В других языках можно либо сделать то же самое, либо там есть рефлексия и можно сделать вообще что угодно. У питона, например, мало того, что есть способы работать с методами и полями объекта, так там просто нет private полей
Аноны, какой минимум нужно знать по плюсам, чтобы взяли стажером за еду?
>>661743Уметь использовать все средства языка + знать часть stdlib: STL и input/output.Если все это знаешь, возьмут за 300$
>>661743>Аноны, какой минимум нужно знать по плюсам, чтобы взяли стажером за еду?конструкторы, деструкторы, операторы, raii, shared_ptr, qt, boost::asioдумаю, этого на джуна хватит
>>661793Где вы вообще видели вакансии джунов с++? Что они пишут?
>>661793>qtТы че ебанутый? Пиши конкретней, там 1001 модуль. Ты джуна нанимаешь или справочник, знающий qt, но не умеющий программировать?
>>661810http://hh.ru/search/vacancy?text=c%2B%2B&clusters=true&experience=noExperience&enable_snippets=true
>>661838В моем мухосранске полторы вакансии, найс
>>661836qt base, qt widgets, qml, qt network, qt sql, qt xml и, разумеется, qt webkit, без него рекламу не вставишь
>>661743Я бы маерса посоветовал еще
>>661743Пару готовых проектов на гитхабе еще добавь ко всему.
>>661939>Пару готовых проектов на гитхабе еще добавь ко всему.Да-да, и пару лет опыта. Тогда смело сможешь идти на зарплату 15т.р.
>>661993Проекты любого (студенческого) уровня.1. Показать твой кодстайл2. Показать, что ты что-то "сделал", а не только "делал"
>IDE Microsoft™ Visual Studio®. Чтобы начать писать код, нужно запустить Visual Studio, кликнуть "Файл - Создать - Проект - Пустой проект", после создания кликнуть слева правой кнопкой мыши по пункту "Файлы исходного кода", выбрать "Добавить - Создать элемент - Файл C++". Чтобы скомпилировать и запустить проект, нужно нажать "Сборка - Собрать решение", а затем "Отладка - Запуск без отладки".>clang++ helloworld.cpp>g++ helloworld.cppЯ просто не верю, что есть в мире долбоебы, рекомендующие новичку IDE (тем более VS) вместо любой наипростейшей консольной команды. В "Стэнли Липпман, Жози Лажойе и Барбара Му - Язык программирования C++ (2014)" прямо об этом и говорится.Пиздец просто.
>>662122нужно было вместо g++ написать gcc, чтобы было еще толще, прыщеблядок
>>662122Для нюфагов, как показывает практика, нажать на несколько кнопочек легче написания полутора слов.Алсо, с мсовским компилером делается так:>cl kek.cppДругое дело, что там поддержку исключений и всё остальное дописывать руками надо.
>>662138>>662135Какой прыщеблядок, что ты несешь?Блядь, я что единственный читаю книги из шапки?
>>662135Зачем тебе С++?Учи сразу MS QBasic.
>>662122И потом он до конца жизни будет в одном файле всё писать
>>662169GW-BASIC был моим первым язык, моей первой любовью, именно с ним я лишился аппаратной девственности
И с какой радости у крестов высокий порог?Холиварящие дебилы
>>662457К нам пожаловали хачкелисты?
>>662165clang и gcc компиляторов нет на винде.
>>662761Kekus maximus.
>>662761Сложна
>>662122cl.exe helloworld.cpp
>>662122Ну выполнит ньюфаг команду, а она ему по его ньюфажности выплюнет километр ошибок, большая часть которых на самом деле следствие одной ошибки в самом верху списка. Он посмотрит на эту хуйню и плюнет на всё. А в ide существенные ошибки распарсятся и подсветятся в самом редакторе – исправляй не хочу.
>>653023 (OP)Мне нужно сделать говно-курсач, хотелось бы под Linux его запилить а не Builder 6, все что смущает это выбор графической билиотеки. Из возможных: SFML, FLTK, GTK+.Нужно всего навсего создать окно с кнопками и по нажатию одной из них открыть еще одно либо перерисовать текущее, а там простой ввод-вывод. Вообще я нюфаг в графических интерфейсах, на плюсах только пару лаб делал на говнобилдере 6. Мою задумку можно будет осуществить, или лучше не выебыватся и быстро наделать все на билдере и продолжить учить свой JS?
>>662810> и продолжить учить свой JS? Иди учи раст.
>>662811А по теме? В FLTK сложно все эти кнопочки будет организовать? и вывод картинок надо. Или все-таки своровать последнюю версию билдера?
>>662816Нет. Бери и не еби мозга.
>>662833Что нет?
>Dmitriy>Dmitriy>DmitriyНу ты и мразь, отвратительно.
>>662839С каких пор /pr стал филиалом /b?
Юзай Qt, он гораздо распространеннее, чем ссаный билдер и 1001 фреймверк в linux
>>662842Хорошо, по нему документации много. А GTK+ чем хуже?
Эй, компьютерщики, вот скажите нахуя было придумывать move семантику, когда был божественный механизм copy elision (aka RVO)? P.S. И только не надо втирать дичь, объясняя move семантику через ссаные rvalue(которые сами определяются через move семантику), я вас умоляю.
>>662846>кококоЗарепортил хаскелеблядка.
>>662847С каких пор /pr стал филиалом /b?
>>662844Минусы GTK+: - Плохая технологическая инфраструктура - GUI(а значит и ООП) на ебаном C это тот еще пиздец. - Плохая поддержка не linux платформ.
>>662849Ах да, забыл: - Ебучая GNU LGPL - Вырвиглазное оформление из коробки - Намного меньшая распространенность, по сравнению с Qt
>>662849Да, интересное решение ООП на сишечке. Почему считается что GUI = ООП? Страуструп писал что ооп лучше избегать там где это возможно.
>>662854> Почему считается что GUI = ООП?Ну представь работу браузера в процедурном стиле.> Страуструп писал что ооп лучше избегать там где это возможно. А что писал Страуструп по поводу ГУИ?
>>662854Потому что нормальную инфраструктуру без него построить довольно сложно, и это будет так себе пахнуть.>>662836>Что нет? >В FLTK сложно все эти кнопочки будет организовать?
>>662854>Почему считается что GUI = ООП?Кто-то не понимает сути ООП, а пытается кукарекать. GUI - это самое что ни на есть чистое ООП, которое вообще можно себе представить. А все потому, что создано по подобию оперирования объектами в реальной жизни по средствам манипуляторов.
>>662855>А что писал Страуструп по поводу ГУИ?До туда Я не дочитал.>>662857Спасибо.>>662856Вроде нормальная библиотека, ровно то что нужно, надеюсь документация удобная.Спасибо.
>>662846Бамп вопросу, компьютерщики
>>662859> Я не дочитал.Спойлер он ничего про него не писал, может как-то вскользь упоминал, но ничего конкретного
>>662863C++ - Язык языков, если move значит так надо.
>>662889Пошел нахуй, Димочка, здесь господа обсуждают фундаментальные вопросы проектирования языка, а тебе еще курсач писать надо.
>>662891>производительность, гибкость, выразительность
>>662895А теперь обоснуй все это или я тебя обоссу.
>>662846> RVOУже по названию же ясно. RVO ограничено как по области (ситуациях в которых оно применимо), так и функционалу - RVO только переиспользует объект, тогда как в случаях покрывемых move-семантикой вызывается специальный кастомный конструктор. Алсо я них там даже функционал разный, насколько я понимаю, временный объект создаваемый и возвращаемый из функции благодаря RVO может сразу создаваться так образом чтобы не удаляться при сдвигании стека (при выходе из функции), тоесть никакого копирования (даже неглубокого) и вообще никаких действий в принципе не происходит. Следовательно это вообще разные концепции, move-семантика не покрывает полностью функционал RVO.
>>662917Реквестирую примеры кода такого использования move семантики.
>>662846Первый результат гугла чем не устраивает?http://stackoverflow.com/questions/5031778/what-optimization-does-move-semantics-provide-if-we-already-have-rvo
>>662810Если не собираешся потом плюсами заниматься то делай на билдере (если приймут). Если дальше в плюсы хочешь пойти то конечно билдер нахуй. Бери Qt (в общем лучше, но возможно дольше разбираться и сложнее будет со сборкой на институтских компах, так как там сложнее тулчейн) или FLTK. SFML это графическая библиотека. GTK+ это для каких-то специфических случаев когда все остальное уже не вставляет подходит, если у тебя свободный выбор то нахуй.
Перекат через неделю?
>>663281Окстись, тред еще даже не утонул с нулевой.
Подскажите, есть простенькая программа (я недавно изучаю), такой вопрос, как сделать так, чтобы если если на ответ - какой пол вашего друга, я ввёл не f or m, то мне выводило бы его ввод заново с предупреждением?
>>663281>>663299А перекат был, ребятки. Но моча обезумела или что-то вроде того. Я не знаю, зачем было удалять его.http://m2-ch.ru/pr/res/662940.html
>>663316это не перекот а нелегитимное говно. уебывай
>>663310Поменяй if на while и измени условие внутри.>>663323Критерии легитимности в студию. Стихоебы идут нахуй.
>>663325Обратная совместимость, не?
>>663332Щито?
>>663325Всё работает, только, поясни вот что:while (friend_sex != 'f' && friend_sex != 'm')Почему если поставить или || - программа не работает, а если И && - то работает?Ведь по сути должно быть наоборот.Т.е. до тех пор пока френд_секс != ф ИЛИ френд_секс != м, то...А тут как-то странно. Я не понял.
>>663335Цикла выполняется пока (friend_sex != 'f' && friend_sex != 'm')Если friend_sex становится равным m или f цикл прерывается
>>663337Ой, невнимательно посмотрел, спасибо.
Есть ли тут кто использует telegram?Есть по нему пара вопросов.
>>663355Я использую.
>>663449А вы там конфу не держите для обучающихся С++?
>>663451Я как-то пытался поднять, но эти петушки слишком ленивые.однако, в слаке есть канал программача, и там раздел с++, тусуются три с половиной анона
>>663454Ленивые петушки - кто?
>>663455Хачкелисты, очевидно же.
>>663464Попрошу, хаскель охуенен. Не такой охуенный, как сидвакрест, но достоин называться ОЗУИТЕЛЬНЫМ язычком
>>663470Воистину. Жалко, что у них тред мертвый.
>>663454>>663464Нет, я имел ввиду что ты имел ввиду под ленивыми петушками - обучающихся С++ с нуля? Просто, я сейчас изучаю С++ и прогресс идёт очень медленно и я бы себя ленивым петушком со стороны назвал бы. Что очень печально.
>>663483Могу тебя мотивировать.
НОВЫЙ ТРЕДhttps://2ch.hk/pr/res/663494.htmlhttps://2ch.hk/pr/res/663494.htmlhttps://2ch.hk/pr/res/663494.html
>>653023 (OP)ПОЖАЛУЙСТА ОТВЕТЬТЕ!!! Откуда взяты эти прекрасные стихи?
>>663325Хейтер сосет хуи.