Спасибо за страдания мои:За тысячестраничные талмуды,За всратые олдфажные гуиЗа NULL'ы и взаимные инклуды.Спасибо, что мой препод-алконавтНе знал, как подключать библиотеки.За goto, за стандарта тухлый драфт,За комитет, застрявший в прошлом веке.За SFINAE спасибо, за segfault,За void main и мудрости Алены,За Герба, положившего свой болтНа крашащие студию шаблоны.Спасибо за безграмотных юнцов,Упорно в тред постящих говнолабыВ надежде, что анон в конце концовРешит их или даст совет хотя бы.За все я благодарен C++ -Пока сквозь дебри путь держу отважно,Я - программист, а не макак-индус.А остальное, в сущности, неважно.TL;DR Читаешь https://goo.gl/kVaela , делаешь примеры и суешь в http://ideone.com , ошибки копипастишь в гугл, непонятное ищешь в предыдущих тредах, спрашиваешь в этом треде, если не нашел. Если тебя послали на хуй или не ответили, то ты спросил платину, читай предыдущие треды внимательнее. И прочитай FAQ, расположенный ниже, в нем много полезного.Унаследованная памятка:Вопросу по синтаксису идут на хуй.Лабы идут на хуй."Как мне сделать Х на чистых крестах без библиотек" идут на хуй.Все идут на хуй.Хейтер сосет члены на пару со своей мамашей.Тег [code] работает через жабаскрипт-костыль: https://github.com/ololoepepe/MakabaCodeСтарший брат: >>629715 (OP)Предыдущий: >>653023 (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/#21 https://arhivach.org/thread/149983/Старые ненумерованные треды: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/
Это ты снес старый перекат?
>>663494 (OP)>эта смищная картинка с самой блевотной игрой в истории человечества>этот унаследованный стиль обиженки>этот костыль, собирающий статистику
>>663487Kak?
>>663487И меня мотивируй
>>663591>>эта смищная картинка с самой блевотной игрой в истории человечестваПоссал на уриниста.
>>663513>>663591Барин добрый: на конюшне порет только раз в месяц и не до кости :3 <3
Какой сейчас положняк по гую в Шиндовс 10?
>>663792Qt5. Остальное – никак.
>>663800Как он со студией дружит? Много говна за собой возит?
Допустим есть такой код void main(){}Компилируем его, получаем исполняемый бинарный файл. Как из этого бинарного файла получить что-то типа такого >"\x31\xf6\x4d\x31\xff\x66\x41\xbf\x1f\x16\x66\x41\x81\xef\x10\x11\x41\x57\x49\x89\xe7\x48\xbf\xd0\x9d\x96\x91\xd0\x8c\x97\xff\x48\xff\xc7\x48\xf7\xdf\xf7\xe6\x04\x3b\x57\x54\x5f\x41\xff\xd7"?
>>663815скрипты линкера, objcopy
>>663815Читаешь побайтово, к каждому байту (в HEX представлении) добавляешь "\x", имеется ввиду конкатенация строк.
>>663804Установщик есть под штудию (для 15й только бета пока) Гигобайт с лишним.
студия - дно ебаное, особенно по части анализа. На больших проектах работает как почта России посылки доставляет.
>>663824Абсолютно согласен. Жаль для меня нет альтернативы.
>>663829Проект сконвертить в cmake и юзатьCLion, Eclipse, QtCreatorЭто только на вскидку, что умеет работать с отладчиком студии
>>663831Я DirectX11 юзаю. В студии отладчик для графики есть. И на Unreal Engine пишу. Тоже без студии не обойтись.
>>663831А не, проебался, clion не умеет.
>>663815питхоном считываешь файл в байтстроку и ещё печатаешь
>>663953её
Так как себя мотивировать, плюсаны?
>>664004Почитай.
>>664033Дум же на си написали.Вообще, мне все говорят что игры писать очень сложно и ничего у меня не получится.
>>664044Ну и сиди дальше на шее у мамки, нытик.
>>664044А ты уже пробовал что-то писать? Может недо движок писал? Или игровую логику?
>>664054Чесно говоря, я недавно книжку скачал и дошёл до первых глав с программированием. Но Кармак-то гений был, знает компьютер отлично. А я мало что знаю.
>>664058Ну тогда советую тебе взять юнити и учить C#. И работу проще найти. Будешь казуалки для мобилок делать. Я вот работу так и не нашел.
>>664063Но я хочу учить не мертворождённый язык. Тем более что я слышал что игры делают в 90% случаев на с++. Ладно, сегодня отдохну, а завтра за работу.
Изучаю книгу "Абстракция данных: стены и зеркала". Дюже удивился, что даже в методе вставки элемента в произвольную позицию списка там делаются проверки на неотрицательность позиции и проверка того, выделилась ли память для ноды, или у калькулятора ее не хватило, и в случае фатала выбрасываются исключения. Это все нужно в реальной работе, или такая дотошность избыточна?
>>664086Не увидел здесь дотошности.
>>664086Если ты пишешь зачем-то велосипедный контейнер, то да, обязательно. Но обычно ты можешь использовать готовый список, например, std::list, в котором все проверки и исключения инкапсулированы.
>>664095>велосипедный контейнерЯ ебанутый и прочитал как волосатый мотороллер.
>>664095Я просто решаю задачи с хакерранка, да и на собеседованиях все это нужно знать.
>>664086А еще интересно, почему они в этой книге в качестве позиции используют int и потом делают проверки вместо того, чтобы использовать unsigned?
>>664111Для простоты же. Обычно используется size_t и т.п.>>664099На собеседованиях тебя не заставят писать что-то с учетом всех деталей, как для продакшена. Могут попросить перечислить, какие ты бы сделал проверки, но не более того.
>>664044Дорога произрастает под стопами идущего.
Смотрите, есть задача напечатать список в обратном порядке. Интуитивно я понял, как ее решать, но не могу объяснить себе, почему после вывода последнего элемента выводятся все остальные с конца. Код: https://ideone.com/B4oVgnПри вызове функций в стек пушится кадр с переданными аргументами, адрес возврата, EBP и создаются локальные переменные. Интересен момент, когда произошел последний вызов функции. Мне кажется, надо было писать std::cout после скобок, тогда было бы проще разобраться. Вот произошел последний вызов с аргументом NULL, и мы оказались сразу за скобками, где std::cout. Печатаем и выполняем ret, из стека выталкивается кадр. Что теперь? Когда вышли из последнего вызова, то снова попадаем на строчку, где происходит печать и т.д.? Объясните мне.
>>664159Хотя нет, если писать std::cout за скобками, тогда будет обращение по нулевому указателю.
>>664159Что за сайт?
>>664176https://www.hackerrank.com/challenges/print-the-elements-of-a-linked-list-in-reverse
>>664159>Когда вышли из последнего вызова, то снова попадаем на строчку, где происходит печать и т.д.?Да.
>>664190Я догадался, но не могу это представить.
>>664199Ну представь себе вертикальную стопку книг. Ты накладываешь одну книгу на другую (адресс возврата, локальные переменные и т.д.). С каждым вызовом функции ты накладываешь новые книги. Когда ты выходишь из функции, то ты убираешь книги. На самом деле стек растет вниз, а данные мы никак не убираем, а просто перемещается на этот адрес возврата.
>>664220Стек я себе представляю, я не могу себе объяснить, почему печатается предыдущий элемент. Мы выходим из вызова предыдущей функции, и - что? Что напечается? Данные из элемента, у которого next передали в функцию, из которой только что вышли?
Похоже, Танненбаум все правильно говорит о том, что для понимания рекурсии надо порешать задачу о переносе колец на палочки с ручкой и бумагой.
>>664236Бля, ну как можно не понимать рекурсию? Даже дети легко осваивают процедуры в паскале, в отличие от указателей, например.
>>664254Ну представь, что ты долго раскручиваешь в дизассемблере небольшую программу, которая непонятно как работает. И наконец у тебя складывается полный образ этой программы, ты представляешь все переходы и видишь весь алгоритм. Вот это и есть понимание, а не "карач там функция вызывает сама себя)))"
>>664111Когда тебе нужно вычесть из unsigned, ты можешь получить отрицательное число. Страуструп и ко сами признались, что зря стали использовать size_t для контейнеров
>>664598Ну и это не делает им чести, ибо беззнаковость вписывается в идеологию языка. Лучше изредка делать лишние проверки, чем все время держать половину области значений неиспользованной.
Какую либу посоветуете для многопоточности? Boost пойдет? Проблем с разными платформами не будет?
>>664722>Какую либу посоветуете для многопоточности? Ебу дал?
>>664725А что? stl-я хватит?
>>664726>664725>А что? stl-я хватит?Да, на всех платформах есть стандартная библиотека 11 стандарта. На 15 студии кое-что не реализовано, но по мелочи
>>664727Ладно. Спасибо.
>>664111https://ideone.com/VaP0Ql поэтому.
>>664738А инт всегда к ансайну приводится в таких выражениях?
Сапчен. тут крч у меня эклипсина ругается. проектик с мейкфайлом и синтаксический анализатор все фичи С++11 выделяет ошибочными все работает но глаз щипитпо сути нужет путь к верной stl папочке как лечить? куда рыть??
Какой может быть смысл у это строки? cin>>n,m;
>>664912И зачем в string оба метода size и length?
>>664912>cin>>n,m;Гугли оператор запятая. Сначала выполнится (cin>>n), а потом (cin>>m).>зачем в string оба метода size и lengthДля удобства. Все привыкли что длинна строки а не размер. А size скорее всего есть потому, что он есть во всех контейнерах.
>>664920>>664738А вот это зачем?
>>664921Зачем или почему так? У тебя преобразовывается -1 в тип unsigned. Его значение будет равным (-1)%(2^32). И будет равным 2^32-1. Что точно больше 5.
>>664925>Зачем или почему так?Зачем. Можно же просто все unsigned больше отрицательных. Или не -1 в unsigned преобразовывать, а 5u в signed. Хотя и тут могут быть переполнения. Неужели правильно работающего варианта не сделать?
5u - явное преобразование. Убери u и всё будет норм.
>>664929Это понятно. А сравнивать unsigned и отрицательные нельзя?
>>664930Можно. Но как видишь пользы от такого сравнения нет.
>>664932Понял. Спасибо.
Есть одна задача. Решая в лоб проверяю каждую подстроку и получаю 70% балов. Пытаюсь решить за O(n) и получаю 50%. Условие на пике моё решение здесь https://ideone.com/VrxvVl На тесте 8 6 (())(()) он посчитал ())(() правильно скобочной последовательностью т.к. не обратил внимание на ())((), а смотрел только на крайние скобки. Как исправить чтобы задача решалась за O(n)?
Я что-то не могу понять как перегружать оператор [][]. Может кто пояснить?
>>665093Эх.. зелёный.
>>6650021. Стек2. Напиши функцию AreParenthesesBalanced.
>>665151>СтекЭто же решение в лоб. И как тогда пройдёт такой тест?14 6(())(())()()() >AreParenthesesBalancedЧто это?
>>665093Оператор[] должен вернуть объект, у которого есть оператор[].Если оператор[][] записать в виде методов, то будетobj[j] => obj.operator[](i).operator[](j)
>>665168там obj[и][ж]
>>665002Не люблю олимпиадки, но решил размять мозги.Говно, но работает: http://www.es6fiddle.com/il0yhijt/
>>665250Зачем на js? Хоть поясни алгоритм.
>>665168Я правильно понял? Нужно класс в классе делать?
>>665277Не нужно а можно. Лучше переопределить operator().
>>665288>Лучше переопределить operator().Ок. Я задание со stepic делал. Там нужно было именно так.
>>665289Ну тогда да или прокси класс, или operator[] может возвращать одномерный массив, тогда возможны вызовы с [][] - но это естественно не для всего подойдет.
Сап, делаю игру в консольке, как сделать одновременное движение нескольких фигуры(прорисовку фигур я сделал). Куда копать? Многопоточность, таймеры???
>>665301Показывай код
Анон, есть IDE для ньюфага? Лучше всего что-то типа Notepad++, но с компилятором.CODE:: Blocks реально монстр, раньше писал на Dev-C++, но он протух уже год как.VS - это просто пиздец, я же только хеллоуворды пишу пока.
>>665326CLion и QtCreator уже щупал?
>>665329>CLion Ты серьезно? Я срусь от VS, а ты мне такое советуешь. Мне что-то типа Dev-C++, Notepad++, только не дохлое.
>>665337Я серьезно. В свое время от блоков, бобов и эклипса обосрался, а как увидел не менее монструозный гринхаус — сразу стало норм. Так что перепробуй сначала все большие IDE, а потом попробуй SciTE и geany.
>>665301В цикле апдейтишь положение фигур (сдвигаешь на небольшое растояние, если нужно), потом отрисовываешь.
>>665337Тебе что нужно от IDE? Assistants? Бери Eclipse или CLion или QtCreatorСистема сборки? Бери CMake/QMake и не юзай IDE вообще.Дебагер? Бери что угодно.VS он боится, охуеть вообще.
>>665166>Это же решение в лобЧто тебе не нравится? Мой алгоритм работает за O(n).
>>665361> Мой алгоритм работает за O(n)Если ты про >>665250 то там квадрат - один цикл по всей строке, второй внутренний цикл по подстроке не константного размера (размер зависит от условия и может быть порядка размера входной строки). Если у тебя другой алгоритм то судя по "Напиши функцию AreParenthesesBalanced" у тебя тоже там квадрат так как скорее всего на некоторых итерациях (число которых не константно) ты будет просматривать всю подстроку не константного размера.
>>665378>Если ты проНет, в треде, похоже, никто не может в структуры данных.
>>665378>у тебя тоже там квадрат так как скорее всего на некоторых итерацияхТам вообще одно сравнение и маленькое ветвление.
Как залить решение на вашу парашу?http://dl.gsu.by/tableByTimes.jsp?cid=19&nid=1422328&u.g=173&sortId=3&sortOrderId=1
>>665378Не надо на меня гнать. Алгоритм конечно хуйня, но далеко не квадратичный. В лучшем случае будет ровно два обращения к каждому элементу, например.>>665384Просто, без задней мысли, открываешь ideone и заливаешь!
>>665392>Просто, без задней мысли, открываешь ideone и заливаешь!Не, я хочу посмотреть, сколько процентов будет.
В общем, держите. Сосач не может в изящность и алгоритмы.https://ideone.com/Z9IeLw
>>665397Таким образом у тебя квадрат будет. Кроме полного прохода по входной строке, также на неконстантном количестве итераций будет проводится проход (вызов AreParenthesesBalanced) по подстроке не константного размера (которая еще и может быть размером с входную).
>>665397А где решение самой задачи? В >>665002 не это требовалось же.
>>665406Я условие не читал, запостил свое решение другой задачи с хакерранка.
>>665403https://ideone.com/b6ai2KАбстрактное решение за время O(n) и O(1) памяти.
>>665476а не, хуйня
>>665393Зарегайся. Или давай сюда код я залью. Только не js он там руби, питон и перл поддерживает, но не js
>>663494 (OP)Зачем нужен C++, если есть C?
>>665528Зачем жрать капусту, когда есть картошка?
Поясните, у меня вопрос - что такое литералы.Как я понял, литералы есть символьные 'q' и строковые "string", это как бы текст в кавычках.Я всё правильно понял?
>>665632Ты можешь написать x = y, с переменной справа, а можешь написать, скажем, x = 1. В этом случае 1 это литерал, т.е. константа, заданная прямо в коде. Есть числовые литералы, булевы, строковые, символьные, а еще пользовательские, когда ты сам задаешь constexpr-конструируемые значения при помощи специального синтаксиса.
>>665646И еще подвопрос, он вроде в книге еще не рассматривался, поэтому я не могу ответить:Сформулируйте правило, помогающее решить, безопасно ли то или иное преобразование типов?
>>665653Это наверное про widening и narrowing преобразования. Преобразования в тип который включает в себя все значения исходного типа безопасно, остальные случаи нет.
>>665745Какую книгу выбрать, если знаешь С#, что бы поменьше воды было?
>>665897>Какую книгу выбрать, если знаешь С#, что бы поменьше воды было?Страуструп в этом плане идеален.
Напейсал курсач на Qt, червепрепод увидел слоты и сказал, что это не плюсы.Как привязать в qt метод к событию на гуе без сигналов-слотов?
А если у меня есть:std::vector<int> v{1};auto n = v[0]; ,то auto у меня будет int или std::vector<int>::value_type? И как вообще можно проверить какой тип в переменной auto?
>>666155Будет int. Я тебе даже больше скажу std::vector<int>::value_type тоже выводится как int.
>>666116На ебало ему поссы. Это – паттерн реализованный в конкретном коде на плюсах.Колбеками, например.
>>666163А в чем тогда смысл value_type?
>>666167Чтобы узнавать тип вектора.
>>666170Понял. В шаблонах зайдет запись T::value_type. Спс.
Может кто сычику с дз помочь? Вроде как грят, что легко. Но я аутист и не могу прогать
>>666199Конечно, вкидывай задание.
>>666203а я могу на ящик скинуть?
>>666207Какой ящик. Сюда кидай.
сюда пдф не вкидывается:(
>>666216Ты на какой специальности учишься? Может это не твое?Скрин сделай.
>>666219там одного не хватитhttp://www.fayloobmennik.net/58429974 вариант
>>666221http://cppstudio.com/post/413/Вот тут всё есть.
>>666227не, я совсем тупой. видел это:)
>>666229Ну тогда меняй специальность. Дрисню на одну строчку за тебя делать никто не будет.
>>666116> червепрепод увидел слоты и сказал, что это не плюсыПусть препод покажет свой код.Я прокомментрую.
>>666230у меня и так гуманитарная специальность, скелет(?) не нужен, тока a=..,b=..,c=..
>>666230умоляяяю
>>666237Напишите ему на хаскелле
>>666242надо на с++! и нет, я проебал скелет, который спиздил у дногруппника, теперь нужен:(
>>666243>Вопросу по синтаксису идут на хуй.>Лабы идут на хуй.
>>666265плак-плак. сложно что ли? а мне жизнь облегчите, я и так уже седой в свои 17
>>666282Ты слишком тупой, сори. Отсоси чтоли преподу, как там ещё гуманитарии такие вопросы решают.
>>666291вот давай я расскажу, как решают, а ты запрогаешь?)
>>666293Сделай фото с флажком в анусе, запрогаю
>>666293Ты же не хочешь разобраться, ты втупую просишь сделать вместо тебя. Иди нахуй, мразь, не для тебя эта доска.
>>666296сука. соблазнительное предложение. а теперь представил в каком я положении? давай сразу на весь семестр лабы?
>>666299ну я не против, если помогут разобраться
>>666301>ну я не против, если помогут разобратьсяЧтобы помогли разобраться, нужно сначала вопрос задать.
>>666305почему сразу мразь?
>>666300Ты торгуешься еще что ли? Пока не увижу твою голую задницу, разговор диалог бесполезен.Я - пидор-программист.
>>666312половина семестровых лаб и тока потом фотка. иначе никак, соре
>>666305хорошо, раз весело сидим, то вот мой вопрос. чем floap отличается от inc? что это вообще?
Господа программисты, я принес сложную задачку
>2016>c++
Аноны, как используя qt ftp просто открыть файл.Вот например есть там картинка, я её выбираю в ListWidget и хочу открыть, как это сделать?
>>666434Гугл говорит QDesktopServices::openUrl(QUrl("/home/realnc/test.pdf"));
Была задачка написать что-то типа fizzbuzz'а, но рисовать спиральку квадратную. По выводу видно https://ideone.com/nZWJkc что должно делать и как вырвиглазно сделал я. Попробуйте сами будет весело. А ещё реквестирую версию моей программы с массивом указателей на функции.
>>666337Лабы в прикреплённый тред
>>666482Держиhttp://ideone.com/iOT4ZA
>>666575Спасибо.
Анон хочу написать свой первый фтп клиент на qt.Подрубился к фтп, работает всё.Решил сделать его не консольным, заебенил listview. И теперь в гугле не могу найти, как в этот лист запихнуть файлы из фтп.Подскажите какой метод использовать, чтобы запихнуть.Понятно что ftp->list() передаёт мне данные, как я понял, но как пихнуть в лист нихуя не понимаю. Помогите аноны!
Есть чат сервер на питоне, который печатает айпи клиента при коннекте. Нужно эти айпишники выводить в textbrowser. Так вот, как от QProcess получать сигнал во время выполнения программы, а не после ее окончания? readyRead() и readyReadStandardOutput() не работают - весь output печатается в textbrowser только после того, как сервер падает.
Ананасы, такой вопрос. Наверное не совсем по крестам, но всё же: посоветуйте книгу по OpenGL на Mac. Во всех туторах/книгах, которые я находил, примеры были с использованием ссаного WinAPI, я попробовать OpenGL хочется.
>>666731http://www.opengl-tutorial.org/Только на англ смотри. Там хоть скрины работают.
Анон, а тебе слабо ответить, почему 3 = n; является ошибкой?
>>6668963 - литерал. Литерал - rlanue. Всё.
>>666902Никто даже не соснул :(
СССССССССССССУКАЯ уже час въебал!Как в win32 получить из текстбокса ебаный ИНТЕЖЕР?!
>>666915Сдвинь его на 32 бита вправо, как советует этот >>666910 кун.
>>666924Я бы тебя послал нахуй, но ты этого не достоин.
>>666915Получить текст и просунуть в atoi() (сложна (нет)).
>>666947>как получить текст>надо получить текстТы дурак?
>>666954Он спросил как получить интежер. А у тебя проблемы с чтением видимо.Сложна
Абрикосы, хочу вкатиться в кроссплатформу и планирую начать изучать QT. Я вообще в ту сторону копаю? Камни?
>>667081>QTПросто пиздуй работать грузчиком, это не твое.
>>667086С чего ты взял?
>>667102Наверное, он имел ввиду, что QT - это видеоплеер.
>>666947Хм.А текст ты как получаешь? У меня получается только в TCHAR* его взять, но для atoi он не годится.
>>667150https://msdn.microsoft.com/en-us/library/yd5xkb5c.aspxа ещё есть _ttoi() которая скорее всего тебе и нужна
>>665534Чтобы потом выебать кочан.
>>665326vim/sublime/nano/whatevershityoulike + clang/g++ * makefiles
>>664759Удолить еклипс. Поставеть VIM.
Крестаны, сегодня наткнулся на Juce. И сразу задался вопросами. Как так получилось, что за пять лет моих крестостраданий я впервые о нем слышу? Его кто-нибудь вообще использует? Чем оно лучше Qt или, убереги патлатый, gtk+этовсё_от_гнома?
Могу ли я используя вектор присвоить значения сразу, как я делал это с массивами в С?например вместо vector <string> alph(3);alph[0]=0;alph[1]=1;alph[2]=2;дописать сразу в первой строке. например с массивом было бы что-то примерноalph[3]={0,1,2};help
>>667252>makefilesКак там в 1977?
>>667265Ценой?
Анон, у меня проблема. Я не понимаю указатели. Вернее я понимаю их суть, но не могу понять где в коде лучше использовать указатели, а где обычные переменные? Крестаны, объясните доступно.
>>667282Прочитай про стэк, динамическую память и про stack overflow.
>>666730Не гуглится!!!! прошу, помогите!!!
Верно ли то, что результат вычисления CRC16 на little endian и big endian ЭВМ будет одинаков?uint32_t number = 0xffaaccbb;uint16_t crc = crc16(CRC_INIT_VAL, (uint8_t*) &number, 4);
>>666116>что это не плюсы.Мамка его не плюсы. Докажи ему, приведи пример, что самая лучшая оболочка в nix системах написана с использованием этой библиотеки. Если кукарекает на слоты, расскажи неучу, что в boost тоже есть сигналы и слоты. А если он скажет что boost не кресты, то можешь отчисляться из этой шараги, ты там все равно ничему не научишься.
>>667282Есть два стула. Эти два стула надо поменять местами.Вот ты смотришь на эти два стула, и в воображении представляешь, как они сменили положение. Что быстрее, поменять эти два стула по настоящему, или просто представить, у себя в голове, что они сменили место? А теперь представь, что эта хуита, про "мысли материальны" реально работает.Или у тебя есть огромная куча говна, но ты пока не знаешь, чем и как эту кучу будешь убирать, допустим это зависит от того, какова структура этого говна. Что ты будешь делать? Перетаскивать гавно то к одному, то к другому инструменту? А может еще и скопируешь это гавно для того чтобы проверить какой инструмент будет удобнее?В любом коде, где можно избежать копирования или смещения реальных данных, используй указатели/ссылки.Простейший пример.int f(int shit){ shit = shit + 1; return shit;}Если ты не будешь использовать тут указатели/ссылки, это дерьмо будет копироваться, а возвращаться совсем другое дерьмо. Так, в твоей памяти, в конце концов будет столько говна, что ты уже ничего не сможешь поделать.
>>663494 (OP)Есть одна dll, которая активно использует стандартные потоки С++. Есть один движок, который из своего компилятора выкинул эти самые потоки. В результате движок нормально работает с Debug версией .dll, но при Release версии вылетает. Как сделать так что бы в Release версии в .dll принудительно оставили все для работы с потоками?
>>667266Да, в с++11 добавили uniform initialization.
>>667388Почему двиг вылетает?
>>667268Неосилятор. Мощнее и проще мейкфайлов ничего не придумали.А с ninja вообще пушка.
>>667397Когда пытаешься использовать ifstream например, просто читать/писать. Я спецом все комментировал чтобы исключить свое говно.
Аноны, хелп. Есть Одна Задача на ПОИСК С ВОЗВРАТОМ, суть ее в том, что в некую фирму надо нанять n рабочих на m должностей. При этом есть матрица доходов каждого из рабочих, на всех этих m должностях (обычная матрица, где строка - номер должности, столбец - номер рабочего, значение - доход фирмы при назначении его на эту должность). Необходимо исходя из этого подобрать рабочих так, чтобы фирма имела максимальный доход.Застрял как раз на бектрекинге, с файла матрицу считал, создал матрицу структур и занес туда все эти данные. Идея была в том, чтобы сначала выбираю на первую должность рабочего с максимальной прибылью, потом на вторую должность так же выбираю рабочего с максимумом и тд, а если этот рабочий уже назначен, то возвращаюсь назад. Но это нихуя не работает, видимо я не уловил сути бектрекинга, а в интернетах инфы про это толком нет, кроме 500 символов на вики и одного примера. Помогите хотя бы на словах описать идею реализации этой программы.Это еще не учтено, кстати, что должностей может быть меньше/больше, чем претендентов, ну да похуй
>>667408> то возвращаюсь назадНу вот там куда ты возратился должен находится список рабочих. Ты сначала идешь по первому, если вернулся то помечаешь первого как пройденого и идешь по второму. Если вернулся - помечаешь второго и идешь по третьему и т.д. Алсо у тебя жадный алгоритм который не гарантирует оптимального решения.
>>667408Твой жадный алгоритм не даст максимума, тут нужно задачу переформулировать так, чтобы можно было симплекса методом решать.
>>667428>симплекса методомсимплекс-методом
>>667340Не думаю. В CRC применяется деление многочленов из конечного поля Галуа, которые представлены вектором коэффициентов, и если ты сменишь endianess, то коэффициенты расположатся в обратном порядке, и это будут уже другие многочлены.
>>667419Да-да, именно так я и пытаюсь организовать: есть матрица структур РАБОЧИЙ, где как раз имеется его порядковый номер, доход с определенной должности строка, столбец и переменная, куда я буду заносить значение включался ли он в список или нет.Но вот дойду я допустим до 5-6 должности и пойму что первый рабочий был бы эффективнее тут если он на первой должности имеет максимум дохода и на 6, но разница между следующим по списку доходом меньше в первом, чем в 6Что в таком случае делать? начинать проход с начала?
>>667398Месье, а вы не путаете cmake с make? Ninja и make - две разных билд системы, которые не взаимодействуют. А вот cmake как платформонезависимая билдсистема-прокси умеет генерировать билд файлы и того и другого.
>>667399>Когда пытаешься использовать ifstream например, просто читать/писать. Я спецом все комментировал чтобы исключить свое говно.Не комментить надо, а дебагером пройтись. А еще лучше проверить параметры линковки твоей либы. Вангую, что ты используешь билдсистему двига и для твоей либы используют те самые параметры, что убирают fstream. Бинарнику, который подгружает твою либу похуй на все, что не касается экспортируемых символов либы и в самой либе можешь устраивать любую содомию.
>>667473> начинать проход с началаДа.
>>667548Эту комбинацию запоминать или стирать? Я так понимаю запоминать надо только тот, который имеет лучшую позицию, те если пятый работник смотрится лучше на третьей должности, чем на первой, то возвращаясь назад я запоминаю его, чтобы с него не начать. Правильно? Но исходя из всего этого никакого алгоритма не выходит толком, точнее алгоритм может какой-то и есть, но это совсем не прхоже на бэктрекинг
>>667557Тебе нужно понять что такое бектрекинг или решить задачу? В случае если ты решил что пятому работнику лучше будет на третьей должности (а она занята) то ты возвращаешся к хуиле кторой сидит на третьей должности и перемещаешь его дальше из тех что он не занимал еще (тоесть на четвертую) и потом начинаешь спускаться ниже.
Анончики, а есть такая табличка http://bigocheatsheet.com/ , только со всеми контейнерами с stl?
>>667630Бесполезная хуйня и табличка по ссылке и возможная таблица контейнеров. Ты либо знаешь все эти структуры данных и можешь вывести эту оценку как нехуй делать, либо ты макака, которая не знает, что делает. Тоже самое с контейнерами. Там даже по названию понятно, какая структура данных лежит в основе контейнера.
>>667630
>>667852Спасибо. Добра тебе анон.
>>667572>>667572Пытаюсь понять трекинг и решить задачу, без понимания же хуй выйдет.Пс, есть как с тобой связаться? Позадаю вопросы, если не влом тебе конечно. Оче интересная задача, хочется с ней разобраться не ради плюсика в зачет, а для себя
>>667630https://habrahabr.ru/company/infopulse/blog/194726/http://goo.gl/5AIkZc
>>667913У тебя не сильно подходящяя задача, так как кроме самого бектрекинга тебе нужно еще и оптимизировать (так как нужен бектрекинг то это метод ветвей и границ). А оптимизации NP-полных задач это посложнее бектрекинга. Его лучше на чем-то типа поиска пути в лабиринте рассматривать. А так ты на слишком большой кусок замахнулся, желательно дробить темы для изучения.
>>667496Да, cmake. Кто-то пишет мейкфайлы руками?
>>667956бывает
Привет всем. Я учил базу языка C++ уже пару месяцев, задрочил консоль до дыр. Скакал по учебникам, делал задачи, веселился. Теперь встал вопрос о практическом применении. Я решил взять фреймворк QT для начала, но мне интересно, хватит ли мне моих знаний. Из базы выучил почти все, исключая STL и boost, но в этом и проблема: смогу ли я учить QT, если не знаю этих библиотек? В классах вполне шарю, читал книжку по ООП, в низкоуровневой части тоже пока что проблем нет.
>>668048нет
>>668048Ты должен не просто "читал книжку по ООП", ты должен его охуенно понимать, иначе получится говно
>>668048>исключая STL и boostА что ты учил пару месяцев? Циклы и классы?
>>668048Всё зависит от тебя.Попробуй напиши калькулятор и глянь как оно.Лично мне было проще на дот нете без каких-либо знаний.
>>668054Скорее дико надрачивался на консоли, так как всякие серьезные дядьки говорили, что если ты не умеешь ваять чудеса в консоли, то тебе не стать программистом. А сейчас понял, что меня где-то наебали.
>>667266http://ideone.com/JDYxCF
>>668055Как это "без знаний" ? Да еще и дотнет на C++?
>>668060> Как это "без знаний" ?Значит первый раз и при помощи гугла и здравого смысла.> Да еще и дотнет на C++? Да, было дело. Теперь я поумнел.
>>668062Не, это похвально. Я пробовал в Билдере формы лепить, но мне было 10 лет, и терпения не хватило.
Ну что, кто ходил на C++ Russia сегодня? Проиграл от того, как в конце доклада по синхронизациям разорвало одного мамкиного алгоритмиста
>>668080Расскажи или покажи.
Анон, есть ftp.list() из qtftp, как его засунуть в ListView?
>>668163Лучше поперёк. Да.
>>667937Изучил поиск пути в лабиринте, суть уловил, возможно не полностью. Но ведь там дойдя до тупика мы просто возвращаемся назад, отмечая тупиковые клетки как посещенные. У меня ж так хуй выйдет, погуглил мою задачу, среди похожих только куски решений венгерским алгоритмом, что не совсем необходимо мне. Ладно, спасибо за помощь, анон, буду сидеть и пытаться что-то сделать с этим
>>668190а если серьёзно? Это моя первая прога на qt, раньше студия и эмбаркадеро было
>>668389Если тебе нужен именно бектрекинг тебе нужно понять как представить все возможные комбинации назначений в виде дерева. В корне находится первый сотрудник, от него отходят ребра соотвествующие всем возможныи назначениям. Наследующей уровне несколько вершин соотвествующие доступным назначениям второго работника при соотвествующем назначении первого сотрудника (тоесть от них будет отходить уже на одно ребро меньше чем от первого, так как одна позиция занята), на следующем уровне для третьего и т.д. В самом низу у тебя должно получится n! узлов (листьев) каждое из которых соотвествует одному из возможных вариантов назначения сотрудников. Бектрекингом будет поиск в глубину по этому дереву. Потом тебе останется научится как можно раньше узнавать тупиковые ветви (в которых гарнтировано не будет оптимального решения) и сразу их отбраковывать и возвращатся назад. Но в любом случае это не эффективный способ, так как сложность n!, а у чуваков вон вроде есть за куб решение (венгерский алгоритм).
>>668435Если api документации по qt тебе не хватает, поищи примеры использования listview и ftp в qt. Потом думаешь, как эти две сущности подружить.
>>667301Проблема была в буферизации. Ну что же вы, аноны?
>>668460я уже вычитал тучу примеров, нашёл сайт где пиарили либу, которая через metod всё это делает, но её удалили
>>668472тьфу, model а не metod
Ананасы, поясните, пожалуйста, за универсальные ссылки в c++ 11. Нихуя понять не могу, что за rvalue, lvalue - это я еще более-менее усваиваю, а вот когда идет речь о том будет ли применяться копирование или перемещение объекта, переданного по ссылке понять не могу. Читаю Скотта Мейерса, и понимаю, что вот тут то полный пиздец. Либо там все достаточно просто и он развел базар на пол-книги, чтобы продать ее. Посоны, помогайте.
>>669144Общее правило такое: если есть && сущность (параметр, переменная, что угодно), которая инициализируется с выводом типа (при помощи auto, аргумента шаблона и т.п.), то это универсальная ссылка, для которой выбор между rvalue и lvalue определится инициализирующим значением при выводе типа (например, auto && x = 1 будет rvalue, a auto && x = y - lvalue).
>>669151а это не универсальная ссылка?>const T &
>>668058так они не про ту консоль говорили, лол.
>>669162Нет.
>>669165А про какую?
>>669168но ведь подходят и lvalue и rvalue
>>669169скорее всего про линуксовский шелл.
>>669171А какая разница?
>>669170Ну и что? Это другое правило. Универсальные ссылки говорят не о "подходит", а о "является". Например, если T && x выведется в rvalue-ссылку, то это один раз жестко зафиксируется, и не получится потом пихнуть туда lvalue.
>>669172даже не знаю как ответить
>>668048Какую консоль ты учил?
>>668048> Я учил базу языка C++ уже пару месяцев, задрочил консоль до дырЗадрачивал cin и cout 2 месяца?
Хочу запилить клон haxball.com под десктоп.Вопрос такого плана:смогу ли я написать в резюме, что я могу в нетворкинг и игры?
>>666689Если ты используешь view, тогда у тебя должна быть model, в которой и будут твои данные. Читай про MVC в Qt
void ftpget(QString url, QString dir){ ftp.connectToHost("ftp.h112858-2.r01.ru"); ftp.login("h112858-2_22","lsu2hmyw."); ftp.cd("PICTURES"); QFile file("C/Temp/"+url); file.open(QIODevice::WriteOnly | QIODevice::Append); ftp.cd(dir); ftp.get(url,&file); Анон, что не так с кодом? В папке файл не появляется.
личные данные
>>669801что даёт "C/Temp/"+url в дебаге посмотри
Юзаю Cmakelists.-D CMAKE_BUILD_TYPE=Debug#ifndef _DEBUG и #ifndef Debug макросы не работают. Чяднт?
>>669395> что я могу в игрыон умеет играть в игры -- берём!написать сможешь, да это проверить легко прямо на собеседовании, задав пару простых вопросов на понимание. к примеру:1. чем отличаются между собой tcp от udp?2. как бы ты реализовал проверку доставки пакетов при использовании udp (свой rudp)?3. и платиновый вопрос на общее знание нетворкинга. ты запускаешь консоль и вводишь в ней ping site.org. какие стеки протоколов/протоколы используются, что вообще происходит?
>>669870Если он задает такие вопросы, то он даже game loop нормальный сделать не сможет.
>>669870>2. как бы ты реализовал проверку доставки пакетов при использовании udp (свой rudp)?Засобачил бы через tcp.
>>669885@ВЫДАЁШЬ АУТИСТУ ТАСКУ РЕАЛИЗОВАТЬ ЛЕГКОВЕСНЫЙ ПРОТОКОЛ ПОВЕРХ UDP С ПРОВЕРКОЙ ДОСТАВКИ@ОН ХУЯРИТ ЧЕРЕЗ TCP@НИХУЯ НЕ ГРУЗИТСЯ @
>>669878О да, один ты знаешь такую "тонкую" материю.
>>669870>вводишь в ней ping site.org. какие стеки протоколов/протоколы используютсяВот это вообще архиважно.
>>669921вопрос на понимание. поэтому да, понимать -- важно. если на вакансия не называется "макака за еду"
>>669926Макака, плиз. То, что ты знаешь какую-то ненужную хуйню - не делает ее какой-то исключительной, а тем более не обязывает остальных знать ее.Рассказываешь, как это знание тебе пригодилось или идёшь нахуй.
>>669851у меня дебагер к qt не подключен, я хз как это сделатья ошибку одну уже нашёл вроде надо писать "C:\Temp\" + url
>>669930у меня overдохуя историй, где это всё пригодилось ибо я ебусь с нетворкингом каждый день(рассказывать их тебе я не собираюсь ибо иди нахуй, мудила). он спрашивает про графу нетворкинг в cv. я ответил. вопрос про пинг самый платиновый на собеседовании для нетворкинга. а чего ты петушишься, я не понимаю)))0)
>>669945В данном случае петушишься ты, обосрав меня за то, что я задал вопрос. По одному посту ты уже решил, что я умею, а что нет.Я знаю такой тип людей, вас объединяет синдром вахтера.Распускай дальше свой павлиний хвост, петушком ты от этого быть не перестанешь.
Думаю, в этом треде могут знать, как использовать use after free уязвимости. А то есть одна в винде дыра, и фикс есть - а эксплойта для исполнения команд - нету. Надо исправить.
>>6698701. TCP гарантирует корректную передачу данных. UDP - нет.2. Самый простой путь - как в sftp, через ACK для каждого пакета.3. ICMP через UDP. Вроде так.
>>669869Разве тебе не ifndef нужны?>>669951Не знаю насчет пинга, но telnet и подобными инструментам пользоваться надо уметь, наверное
>>669958Ну и научусь же, для меня это новая тема.По поводу макросов, нужен такого вида:#ifndef debug #define YOBA()#else #define YOBA() yobayoba(1488);#endifВот только дебаг не отзывается. Что довольно странно. Какие вариации из гугла не пробовал только.
>>669955Можно ещё пакеты нумеровать для пущего счастья.
>>669938окей, затрахался я с файлом, но понял в чём дело, второй параметр при открытии не нужен, он и говнил.Теперь вопрос, как через get скачать правильно? А то файл 0 кб
Анон, как в qt получить данные ячейки из TableView?
>>669962Залей выхлоп make clean; make VERBOSE=1 на пастбинИ попробуй ifdef NDEBUG (определяется когда делаешь релизный билд)
>>670083Да пробовал NDEBUG.
>>670113Блин. Попробовал еще раз - робит.Спасибо, милаша :3А так вообще принято писать? Везде видел именно _DEBUG_
>>663494 (OP)ОП-хуй,Зачем ты упоминаешь глючное, уёбищное говно IDEONE, когда есть божественный REPL.it?Почему я должен был СЛУЧАЙНО найти эту радость?
>>670120респект!
>>670120Говно какое-то. Схема есть, а хаскила нет.
>>670120Посмотрел что это. Похоже у неё другие цели. Вот если у тебя компилятора нет, то ты эту хуиту изаешь. А вот чтобы постить в тред луше идеон. 1 раз написал, скомпилил и кинул линк. а ещё я не понял как пользоваться консолью
>>670146QBASIC жи есть.
>>670153Консоль для ввода-вывода.
>>670171Почему тогда такое странное сообщение об ошибке?
>>670176Значит это таки REPL, но для цепепе он не работает.
Решаю задачу вывода n-го с конца элемента односвязного списка.Такой код: https://ideone.com/yTyi9nНо здесь в первом цикле указатель продвигается не на position шагов вперед, а на position - 1. Почему так?http://tproger.ru/problems/algorithm-to-find-the-nth-to-last-element-of-a-singly-linked-list/Рассмотрим пример:1 -> 2 -> 3 -> 4 -> 5 -> 6 -> NULLНа первом шаге p = 1, q = 1Далее в моей реализации указатель p продвигаем на position = 3 шага вперед:p = 2; p = 3; p = 4; остановилисьТеперь двигаем оба указателя, пока не дойдем до конца списка. Расстояние между ними равно position, поэтому в конце указатель q остановится на нужном элементе.Итак:p = 5; q = 2;p = 6; q = 3;Остановились. Как видно, ошибка на единицу, но почему так? На сайте мое решение принимается несмотря на то, что указатель p продвигается вперед на position шагов.
>>670242А, понятно, на ТПпрогер индексы не с нуля. Обычно я пропускаю описание всякого говна и перехожу сразу к изучению кода.
Хотел подключить к кодблокс SFML, сделал как тут http://grafika.me/node/240 , только с последней версией, у меня выдает ирроры, защоооооо?
>>670468Без IDE попробуй.
>>670468Я не умею.
>>670480>>670473
Я так понимаю, всегда нужно указывать =delete для конструкторов, которые не используются? Либо ситуативно смотреть?
>>670480Через CMakeLists делай.
>>663494 (OP)Немножко умею сокеты.Что прочесть что бы мочь SSL? Лучше с примерами и на русском.
>>670522https://www.youtube.com/watch?v=CmbXm2tkzMEНа русском и с примером
>>670494>Я так понимаю, всегда нужно указывать =delete для конструкторов, которые не используются? Только если они сгенерируются по-умолчанию. Хотя можно для ясности указывать явно. Там довольно большой список ситуаций, в которых методы неявно помечаются как default или delete. Чтобы не страдать хуйней, заучивая эти правила, можно явно написать.
>>670602> можно явно написать.Минус в том, что умные дядьки потом у виска могут покрутить, если окажется, что в данной ситуации ни к селу, ни к городу.
>>670494Я юзаю =delete для методов, которые генерирует компилятор, но мне они не нужны. Например раньше конструктор копирования нужно было создавать с модификатором private, а сейчас можно просто написать =delete.
>>670623>Минус в том, что умные дядьки потом у виска могут покрутить, если окажется, что в данной ситуации ни к селу, ни к городу.Ну скажут, что не знаешь условия implicit defaulted/deleted declaration и хуле?Зато не будет таких ответов, как у этого Василия, который не знает, что конструктор копирования и оператор присваивания являются implicitly deleted, если есть move аналоги. А когда возникает необходимость делать недоступными эти методы, то аналоги точно есть.
>>670659> конструктор копирования и оператор присваивания являются implicitly deletedА я это знаю, наизусть помню все эти правила, ибо однажды показалось это важным.Но все же, я имею ввиду ситуацию, когда здоровому человеку ОЧЕВИДНО, что никакие такие конструкторы использоваться не будут вовсе, т.к. объект создается единожды эксплицитным конструктором с параметрами.
>>670529я что, на /pr захожу что бы со мной тут шутки шутили?
В методе класса нужно запустить другой метод в треде. Нагуглил std::thread t2(&Test::calculate, this, 11, 20); почему синтаксис так отличается от вызова извне? Зачем амперсанды и this?
>>670873Амперсанд не обязателен, как и для глобальной функции (имя Callable-сущности превращается в указатель на нее автоматически, когда прорабатывает std::decay). this указывает конкретный объект, от имени которого должен вызываться метод (в общем случае это может быть указатель на какой-то другой объект, если тебе захочется). Внутренности std::thread распознают, что им передан именно метод класса (при помощи отдельной специализации конструктора) и интерпретируют второй параметр особым образом, вызвав в нужный момент this->calculate (11, 20), а не calculate (this, 11, 20).
>>670873Когда в конструктор std::thread(f, t1, t2 ...) передается функция-член класса то в результате вызывается или (t1.f)(t2, ..., tN) или ((t1).*f)(t2, ..., tN) в зависимости от переданых аргументов. Поэтому в конструкторе треда вторым аргументом должна быть ссылка или указатель на класс, и нужен указатель на функцию-член (получается указатель на указатель), так как там идет его разименование (какого-то хуя, причины наверное были). Для сравнения если в конструктор будет передана обычная функция то будет вызвано f(t1, t2, ..., tN)http://en.cppreference.com/w/cpp/thread/thread/thread
>>670883Ну зачем-то же его пишут..Где ещё такой синтаксис ?
>>670910Ну не знаю, возможно, чтобы подчеркнуть, что это именно указатель, первоклассных-то функций не завезли. Я бы посоветовал не заморачиваться и писать как удобнее тебе самому.
>>670873Запусти std::async и забери фьютчером, если тебе нужен результат.
>>671002Да знаю, меня именно амперсанд и this интересовал. Ну и :: , забыл как его там.
А вот если у меня в классе есть метод, который плодит несколько разных тредов - джойнить нужно в нем же, или в деструкторе? Или выделить функцию для о джойна всех этих тредов?
>>671136Если результат тредов нужен в методе - джойн в методе.Если во вне, то промисы в помощь
>>671129в принципе, всё написали >>670885В C++ нет правила, по которому member-функции распадаются (decay) до указателей, как обычные функции. Поэтому нужно указывать явно принадлежность функции классу и взятие адреса амперсандом. Про this вроде бы ясно.
>>671144Войд методы. В обоих циклы.
>>671150Меня сбило с толку именно что thread(calculate, 11, 20) нельзя, выкидывает ошибку, мол, нестатическая йоба, идите нахуй.Теперь понятно как это юзать, не совсем понял за дикей правда, на досуге почитаю обязательно
>>671158Когда от тебя ожидают аргументом указатель на функцию (напр. void (*)()), а ты передаёшь имя функции (без амперсанда, тип void()), то C и C++ автоматически преобразуют тип функции в указатель на неё. Это и называется function-to-pointer decay.Для мембер-функций такого преобразования нет.
Анон, поясни за структуры. Что это такое и зачем нужно. А то никак не могу разобраться
>>671238Лучше подумай о карьере грузчика, есои не понимаешь таких вещей.
>>671241>>671241Ты злой. Я же нормально спросил. просто нет того, кто бы нормально мог объяснить
>>671257Это же блядь элементарно. Вот есть у тебя табличка в тетрадке – то же самое и структуры.Если не понял – пиздуй разгружать фуры.
>>671238Структуры - это то же самое, что и классы, только по умолчанию видимость стоит public, а не private.
>>671265Ебать бы объяснил."Двумерное пространство это десятимерное, только 8 измерений свёрнуты в точку."
>>671269Грузчиков всегда мало.
Есть тут кто пользуется Вижуал студио?
>>671274Я не тот анон, который спрашивает про структуры, мимо.А объясняешь ты хуёвее грузчика.
>>671276Можешь объяснить за структурытот анон
>>671278Мне лень.
>>671279Ну как я понял это тупо несколько переменных под одним именем с методами?
>>671276Всё потому, что ты тупее того, кто объясняет хуже грузчика.Объясню структуры за селфи с флажком в допе и сапом.
>>671238-кунstruct stack{ const int MEMORY_ALLOC_SIZE=8; int data; int top; int size; void create(); void create(int tsize); bool pop(int outItem); bool peek(int outItem); void push(int item); bool isEmpty(); void print(); void distruct();};int main(){}void stack::create(){ data=(int)calloc(MEMORY_ALLOC_SIZE,sizeof(int)); size=MEMORY_ALLOC_SIZE; top=0;}void stack::create(int tsize){ data=(int)calloc(tsize,sizeof(int)); size=tsize; top=0;}void stack::push(int item){ if (size-top == 1) { data=(int)realloc(data,size+MEMORY_ALLOC_SIZE); size=+MEMORY_ALLOC_SIZE; } data[top]=item; top++;}bool stack::pop(int outItem){ if(top==0) { return false; } else { return true; outItem=data[top-1]; data[top-1]=0; top--; }}bool stack::peek(int outItem){ if(top==0) { return false; } else { return true; outItem=data[top-1]; }}bool stack::isEmpty (){ if (size==0) { return true; } else { return false; }}void stack::distruct(){ free(data);}void stack::print(){ for (int i=size; i>0; i--) { printf("%d",data[i-1]); }}
>>671299с указателями обосрался
Вопрос наверное уебанский, но всё-таки надеюсь, что ответите. Зачем нужны прототипы функций? Почему нельзя сразу писать функции целиком, а мейн последним?
>>671238Если тебе нужно отличие структур от классов, то его почти нет, там только по умолчанию все поля public.А вообще, изначально структуры (в языке си без плюсов) были как бе синтаксическим сахаром для передачи неодносложных данных в функции и обратно.В си с плюсами добавили классы, уже совсем другую сущность... Об этом в следующем выпуске
>>671318> Почему нельзя сразу писать функции целиком, а мейн последним?Удобнее. И прототипы не для этого зделоли, чтобы ты мог функции после main() писать.> Зачем нужны прототипы функций? Чтобы их вызывать, когда реализации в других модулях линковки.
>>671318Можно. Пишешь везде inline void funkciya ();А вообще, читай one definition rule.
Посоветуйте либу с парсерами файлов разных форматов.
>>671330Если совсем разных, то только какие-нибудь парсеры бинарных структур можно посоветовать.
>>671318Декларирование нужно в первую очередь для многофайловых программ (ускорения их компиляции после внесения небольших изменений). Функция может находиться в другом .cpp файле (или ее реализации в виде исходного кода вообще может не быть, например в случае использования библиотеки), компилятор устроен таким образом что каждый файл компилируется отдельно (еденица трансляции), соответственно инфу о функции (если она в другом файле) для статического контроля получить неоткуда. Для этого нужно декларирование - декларируя функцию ты обещаешь компилятору что такая функция на самом деле есть, и компилятор спокойно компилирует исходный код в объектный.
>>671338Вот хорошо и понятно объяснил, добра тебе.
В крестах нет модулей, а в паскале есть. Какое преимущество это даёт паскалю над крестами?
>>671419Более быстрая компиляция и линковка. Паскаль еще и однопроходный by design, поэтому компилируется вообще со свистом.
>>671419>В крестах нет модулей, а в паскале есть.И при этом кресты нужны (я тут не обсуждаю, насколько они дерьмовы при этом), а поц-кал — не нужен.
>>671421>однопроходный by designЧто это? Только на скорость компиляции модули влияют?>>671424Ну я же для примера.
>>671421> Паскаль еще и однопроходныйРазве к езыкам с каким-никаким синтаксисом это применимо? Я думал только к ассемблерам. А всякие поц-кали так или иначе надо компилировать в несколько стадий.
>>671433Как раз в ассемблерах нужны множественные проходы потому что forward references
>>671426>Что это? Паскаль со своими секциями type, var, interface и т. п. устроен так, что его можно скомпилировать в один проход. http://fan-5.ru/best/best-69301.phpЭто не значит, что его в один проход компилируют, но в любом случае жизнь разработчику компилятора упрощена. Например, вот такой код на C++:int i;yoba();int j;Компилятор должен будет выделить память на стеке для i и j сразу, то есть предусмотреть это, а значит, сначала распарсить код и проанализировать его. В случае паскаля же: var i:Integer;j:Integer;beginyoba()Уже как только встречен begin компилятор знает что и как выделять на стеке.>Только на скорость компиляции модули влияют?В основном, да. Еще вместо .h/.cpp можно было бы иметь что-то по типу C# - все в одном файле, но это уже мелочи.
>>671424Мамкины нонконформисты не нужны.
>>671456И последний вопрос по модулям. Можно не подключать весь модуль, а только часть его функционала? Например не весь algorithm, а только sort из него.
>>671462Я что-то проспал и модули включили в стандарт C++?
>>671471Нет. Только будут. Но ведь они везде одинаковые? Ну или почти одинаковые?
>>671462Нет, вась, модули в C++ не завезли. Всё лишнее говно в любом случае будет отрезано линковщиком, даже в случае пропускания компилятором по какой-то причине.
>>671474Это ещё не факт.
>>671458>нонконформистыЭто типа кто не пишет на поц-кале, как в школе учили, тот нонконформист?
>>671477Почему? Что в них плохого?
>>671474Как раз из-за того, что у разных членов комитета по стандартизации разные взгляды на то, какими должны быть модули (на самом деле подставь любой FEATURE_NAME вместо курсива), стандарты принимаются так медленно.
>>671484Вот суки. Путина на них нет. Он бы им устроил вертикаль власти. Сразу бы все стандарты приняли. Пятилетку в четыре года.
Сделяль две функцииhttp://pastebin.com/6SPCmKapЗапустил в двух тредиках, заджойнил. Вввод второго пездюка вообще игнорится. Что я принципиально делаю не так?
>>671462> часть его функционалаВ бинарник суется (имеется ввиду статическая линковка) только то что ему нужно. Исключение естественно хедеры, если тебе кажется что хедер дохуя жирный то нужно вручную резать. Кроме теймплейтов, они превращаются в код только при использовании.
>>671477В них - ничего. Но они 20 лет осиливали простенький вывод типов, просто потому что сишники из комитета нихатели. То же самое и тут.
Я ньюфаг, как сделать чар нулевым? Т.е. ''.
>>671512char c = 0;
>>671512char c = '\0';
>>671515>>671513А как сделать так, чтобы он отображался пустым?Т.е. я хочу сделать так, чтобы coins. тут было заместо s пусто, а не пробел. У меня эта буква s в отдельном чаре идёт.
>>671520Вот строчки кода: int one_cent = 0; std::cin >> one_cent; char one_ending = 's'; if (one_cent == 1) one_ending = '0';А что в one_ending поставить чтобы там было пусто?У меня потом вывод идёт:std::cout << "You have " << one_cent << " one cent coin" << one_ending << "." << std::endl;
>>671490бумп
>>671527Попробуй '\0'. В ascii нет пустого символа, в юникоде должно что-то быть, например есть "\u200B" - "пробел нулевой длины". Второй вариант написать не в одну строку.
>>671584Пробовал, но там как пробел показывается.НУ ладно, я уже переписал по другому. Кстати, а куда тут лучшекод вставлять чтобы вам показать?
>>671605past ebin.com
>>671608Ну-ка: http://pastebin.com/J2TRqn5A
>>671612int dollar = 0; while (summ >= 100) { summ -= 100; dollar++; }Это называется деление с остатком.
>>671612>>671619К тому же,почему >= 100? 100 центов это не даллар?
>>671622Ну да, забыл = убрать. >>671619Но тут всё верно, так? Кроме >=.
>>670522бамп вопросу
>>671636>>=
>>=
>>671741>>671742>>671744:: forall a b. m a -> (a -> m b) -> m b
>>671746хоспади, как же это охуеннолучшее что придумало человечество! после goto
>>671318так Б-г наказал делать
Господа, подскажите как поставить себе Qt в VS 2015, текстовый нормальный гайд был бы замечателен.
>>671951насколько же ты ущербен, что даже гугл открыть не можешь. при том что он устанавливается уже в три клика. съеби вот просто из программирования в сибирь и сдохни в землянке с медведями.
>>671951Зарепортил унтерменша, не знающего про гугл
>>671955А что, оно уже их беты вышло? Вроде недавно была только бета версия для 15 штудии? // Мимоmingwполуёбок
>>672039Как там, в 2015? 30 июля был релиз, в ноябре первый апдейт.
Анон, какие есть годные среды с автогенерацией кода по uml диаграмме классов, окромя staruml и прочего безгранично старого говна? Или есть какие-то более популярные языки моделирования?
Как в C++ компилируются шаблонные класы? Для каждого используемого типа свой экземпляр?
>>672294Также как и обычный, только код для компиляции генерит компилятор, в зависимости от параметров шаблона.
>>670120Это лучше http://code.runnable.com/
Есть классы Server и Client. Клиент связан с классом Player чтобы отвечать за игровой мех на стороне собсна игрока.Но столкнулся с тем, что на стороне сервера нужен тоже какой-то класс, который обрабатывает этих самых плееров, т.е. аналог Player на другой стороне трубы. Как бы его так обозвать хорошо, чтобы смотришь в проджект эксплорер - и сразу понятно, что эта хуйня делает. Мне очень неловко просить помощи, я редко выхожу из ридонли
>>672501Назви его Player.
>>672506Но у меня уже есть такой класс!
>>672508Тогда Player_Na_Servere
>>672509Братиш, зачем ты так.
Народ. Какие опенсорс проекты на плюсах есть, в уоторые можно коммитить? Кроме суперспецефических вещей вроде rethinkdb и няшной сишечки.
>>672501Почему и на сервере не использовать тот же класс?
>>672523mpv
>>672523Clang, llvm, qtcreator, qt, casablanka, openvr, opencv. А вообще ты охуел немного: первая ссылка в гугле https://github.com/trending/cpp
>>672508Используй пространства имен.
>>672540Но разумно ли это в данном случае?
>>672501RemotePlayer или ClientPlayer
Вдогонку:Когда заходишь в проект и видишь RemotePlayer, сразу подразумевается, что есть другие плееры и все они наследники AbstractPlayer'а
>>672555Всё-таки у серверного и клиентского слишком разный функционал, чтобы так делать.
>>672541А что не разумного? Код клиента в своем неймспейсе, код сервера в своем. Если боишся неймспейсов назви PlayerServerModel и PlayerClientModel. Но подобные многосложные имена ничем не лучше неймспейсов - ты просто пытаешся с помощью префикса/суффикса решить то что должно решаться неймспейсами.
>>672578Опять таки, Server класс есть, выходит неймспейс надо как-то мудрено называть, ОПЯТЬ ТАКИ.Сука, именовать эту всю дичь занятие из нервных.
Пока нашел два решения моей проблемы, оба являются совмещением кода клиентской и серверной сторон в одном классе: макросы и strategy pattern.Неймспейсы отбросил, потомушта еще больше мешанины получается, не смог я придумать, как сделать из них конфетку.
>>672778> неймспейсы хуита мутная> буду использовать макросы
>>672790Давай расскажи, как ты здесь видишь применение неймспейсов? Удобно пиздец дублировать половину кода и выдумывать охуительные имена.
>>672791server::Player client::Player
>>672799Бред. А потом еще server::game client::game да?
>>672801А ты как сделаешь?
>>672839через жопу
>>672801> да?Нет конечно. Нужно server::Game и client::Game.
>>672848Да
>>672851Хуй на.
Бамп вопросу >>672170
>>672791>Удобно пиздец дублировать половину кодаНу так вынеси эту функциональность в common. А вообще покажи код
Сейчас для повышения производительности функции ещё пишут инлайнами или уже не надо?
>>673101Конпелятор сам решает, инлайнить ли функции. И inline не делеает то, что ты думаешь.
>>673125А что он делает, inline?
>>673101Пишут, но зачем, не в курсе. Думаю, в 95% случаев это не нужно.
>>673127Намекает, что можно бы заинлайнить, не больше.
ребята,вы же шарите,да? как сделать прогу для автоматического создания четких пацанских цитаток и мамасиков? ответ нужен срочно,гопота прижала. всем чмоки
Сука, как в этом ебучем крестовом <random> получить ебучий рандомный char, блядь?Понахуячили кучу каких-то адапторов, генераторов, дистрибуторов что теперь хуй проссышь.
>>670836Не "на", а "в".
>>673163Задай границы и конвертируй цифры в чары, червь.
>>673163И вообще, лабы идут на хуй.
>>673136>>673125Недавно подняли производительность критического участка на 20% расставив __attribute__((always_inline)) вокруг нескольких методов, после того как дизассемблинг показал, что компилятор по своим соображениям отказывался их инлайнить. Просто inline нужен только для исключения конфликта имен имплементаций в хидерах, собственно к инлайнингу он сейчас имеет очень слабое отношение, компилятор и так пытается все инлайнить.
>>663494 (OP)А какая типичная работа на C++?Например на php это какой нибудь круд, nodejs ֊ хипстерская фигня с вебсокетами.
>>673225Серверсайд, хайлоад, эмбеддед, геймдев.
>>673193Хы. Александреску рассказывал, как он вынужден был наоборот просить компилер не инлайнить, когда в фейсбуке оптимизировал что-то.
>>673255http://www.youtube.com/watch?v=Qq_WaiwzOtI вот здесь это было
>>673255Ну тут тонкий вопрос, если все инлайнить то бинарник растет и кэш кода забивается. Универсального решения тут нет, в каждом отдельном случае нужно начинать с бэнчмарков и профайлинга и дальше при каждом изменении делать замеры.
>>663494 (OP)> FLTK - графические интерфейсы - http://fltk.orgГосподи, либо я дурак, либо эта библиотека говно.Я, блять, не могу создать обычный чеклист. Гружу я hold_browser, а дальше что? Пытаюсь установить callback функцию для него, а мне хуй в лицо, там нихуя не понятно, в документации нихуя не понятно, примеров нихуя нет. Тупое говно тупого говна
>>673290Просто ты туповатый, лол.
>>673290либа же изи. ты реально туповат
>>673163Срандом пользуйся, червь. Тебе этот <random> еще 10 лет не пригодится, учитывая твои вопросы
>>673498>Срандом пользуйсяОхуеть советы, за сранд в 2016 году надо руки отрывать.
>>673524Долбоеб ебаный, назови хоть одну причину, почему этому долбоебу не подойдет сранд?
>>673536Этому долбоебу и брейнфак подойдет, это же не повод. Сранд, как и значительная часть libc/posix, это примитивные API прямиком из 70х, использующие не синхронизированные глобальные переменные на каждый чих. А значит, если этот долбоеб решит использовать все свои 16 ядер и запустить код в несколько потоков, он внезапно обнаружит, что 1) вероятностное распределение съехало нахуй, т.к. потоки переписывают один и тот же сид 2) начались жесткие тормоза, т.к. перезапись глобальной переменной из разных потоков инвалидирует кэш. Ну и плюс диапазон у него ограниченный и слегка ебанутый.И зачем, спрашивается, связываться с этим говном мамонта, когда у тебя такой-то <random> есть? Две лишние строчки написать тяжело? Пиши на баше, епта, используй $RANDOM.
>>673554> несколько потоков для перевода символов из ascii кода
Анончики, а как мне скопировать данные из одного массива в другой, если у элементов массива не переопределен оператор присваивания?
>>673574Что именно ты называешь "массивом"?
>>673579T* arr
>>673580Если достатно неглубокого копирования то копируй каждый объект отдельно с помощью memcpy. Если нужно глубокое то надо переопределять конструктор копирования. Возможен непереносимый пердолинг (если конструктор переопределить нельзя) но с таким лучше не связыватся.
>>673563> я использую разные API для однопоточного и многопоточного кода> я пишу немасштабируемый код, т.к. мне нравится потом ебаться с конкурренси багамиКак скажешь.
>>673591> я пишу немасштабируемый код, т.к. мне нравится потом ебаться с конкурренси багами> laba1> конкуреси лол?
>>673591> я использую разные API для однопоточного и многопоточного кода> я пишу немасштабируемый код, т.к. мне нравится потом ебаться с конкурренси багами> получить ебучий рандомный char в лабеТы действительно настолько даун? Отмасштабируй очко себе.
>>673595>>673596> Лабу можно писать наотъебись, в продакшене я бы написал нормально.> Но я не умею нормально, т.к. я всегда писал наотъебись.И эти вот долбоебы потом приходят в профессию и начинают гнать говнокод мегабайтами.
>>673610Но пишут говнокод долбоебы, которые не понимают, где нужно использовать хуйнюнейм, а где не нужно.
>>673612Например те, кто не понимает, что сранд в крестах вообще не нужно использовать, уже 5 лет как.
>>673624И что же надо использовать вместо сранда?
>>673625http://en.cppreference.com/w/cpp/numeric/randomЕсли хочется просто, то http://en.cppreference.com/w/cpp/numeric/random/random_device/operator%28%29, но он может каждый раз в /dev/random лезть, правильнее создать локальный инстанс генератора, например std::mt19937, иницилизировать его сидом из std::random_device и и потом получать значения из диапазона через std::uniform_int_distribution.
Хули вы тут устроили, блядь. Если знает, почему стоит использовать не std::rand, пусть использует его. Если не знает, то пусть прочитает и использует то, что больше отвечает ситуации. А то определили два пути: говнокод и йоба архитектура, но почему-то компромисса вам не завезли.
Анон, все ли возможные входные данные я учитываю?https://ideone.com/jQIsea
>>673646у тебя там segfault
>>673646> Node *fast = head->next->next;Бабах.> fast = fast->next->nextПиздых.
>>673648>>673649А так лучше? https://ideone.com/LdUIx0Можно ли сделать красивее?
>>673662Например, вот так: https://ideone.com/wxRZarСегфолтов теперь быть не должно. Можно было бы подумать, что на списках длины 2-3 цикл не всегда найдется, но по доказательству корректности алгоритма, когда мы попадаем в цикл, указатели всегда встретятся.
>>673645>йоба архитектураКонечно, подключить стандартный заголовок, создать обьект и дернуть у него метод это пиздец какая сложная архитектура. Не позорился бы даун.
Аноны, нужна помощь по qt c++, а именно qftp ftp.cd("/PICTURES/Apple"); QFile file("C:\\Temp\\"+dir); file.open(QIODevice::WriteOnly); ftp.list(); while (!(ftp.get("apleiphone4s+2st300mm.WPC",&file))) {Sleep(500);} file.close();Файл в папке создаётся, однако он пустой, прорыл в и-нете материал, и нихуя не понял.Спасибо, Аноны.
>>673677Ситуация: тебе надо сделать сраную лабу, в которой ты хочешь заполнять массив автоматически, а не вручную. Ты уже знаешь про std::rand и даже если не знаешь - все что тебе нужно прочитать - описание std::rand. Даже про srand читать не обязательно. В процессе чтения ты увидишь, что std::rand является небезопасным, а в C++11, оказывается, есть нормальные решения. Ок,- скажешь ты. - Давайте использовать современные методы. - И открываешь документацию к <random>. Твоему взору предстанет стена текста, на которой ты сразу же увидишь минимум 15 сущностей, которые надо разбирать, а пример с кодом нихуя не говорит о том, как бы быстро заюзать эту охуительную безопасную йобу. Тут же ты вспоминаешь, что вообще-то ты не ставишь себе задачи изучить весь random(по крайней мере, сейчас), а беглый ее осмотр не внушает тебе уверенности, что это займет 5 минут. Что ты выберешь: потратить неизвестно сколько времени на изучение <random> или по-быстрому заюзать std::rand, который справится с твоей задачей на ура? Конечно, если ты и так планируешь изучить <random>, то лучше выбрать первый вариант. Но если ты вообще не собираешься писать на C++, или у тебя нет времени, или ты блять просто не хочешь отвлекаться на побочную хуиту, то скажи, какого хуя ты тут выступаешь, мразь? Только честно. Как вообще использование std::rand в ебаной лабе на сортировку мешает мне выбрать нужное решение перед написанием продакшен кода? Как, блять, ну ты объясни мне, пожалуйста! Я что еще, когда что-то изучаю, должен код через TDD ебашить? Чтоб тебя удовлетворить, пидор? А ты не охуел там?P.S. Кроме всего прочего вангую в тебе джуниора-оверкиллщика, который на сугубо утилитарные вещи городит по 5 абстракций.
>>673739За то время, что ты тут ноешь, ты могу бы уже 5 раз скопипастить нужный кусок из примера и двинуться дальше. Но нет, блядь, надо начать обосновывать совой говнокод, говонокдость которого ты сам прекрасно осознаешь.
>>673707Ты вообще в документацию заглядывал? Охуеть у нас тут спам-лист
>>673750Так погоди-ка, мразина. И чем ты отличаешься от той макаки, которая хуячит std::rand в продакшене, если такое советуешь? Ты же советуешь заиспользовать либу не глядя, не разобравшись ней, не зная как оно настраивается и как оно себя поведет в дальнейшем. Ебать ты дно, все с тобой ясно.
>>673756Я повторяюсь снова, но я подписываюсь под словами этого благородного дона, чей навык красноречия просто сияет своим светочем.
>>673756Очевидно же, хуячить <random> не глядя лучше, чем хуячить std::rand не глядя, почему - написано выше. STL ты и так используешь, если ты, конечно, не из тех мудаков, что используют libc в крестовом коде. А ты можешь быть как раз из тех мудаков, судя по твоей анальной привязанности к std::rand.
>>673767Ты тупой еблан. Хуячить не глядя вообще нельзя, а хуячить std::rand глядя намного проще, чем делать то же самое с <random>
>>673771Хуячить std::rand глядя вообще невозможно, т.к. первый же гуглежь показывает, что рандом в современных крестах делается через <random>, а std::rand - это полу-депрекейтед пережиток для совместимости с няшной. Ну и если тебе "проще" важнее, чем "правильно", то тебе в пыхипи надо переквалифицироваться.
>>673587А чо не весь сразу?
>>673786Потому что, если конструктор копирования не тривиальный, то просто копировать память нельзя.
>>673786В самом массиве у тебя же указатели хранятся, его мало смысла копировать.
>>673781>Хуячить std::rand глядя вообще невозможноТы точно ебанутый. Стандарт явно говорит:>The rand function has the semantics specified in the C standard, except that the implementation may specify that particular library functions may call rand.>It is implementation-defined whether the rand function may introduce data racesЕсли ты это знаешь, то ты осознанно используешь эту функциональность. >Ну и если тебе "проще" важнее, чем "правильно", то тебе в пыхипи надо переквалифицироваться.Что за "правильно", блять? У нас тут не религия. Есть конкретный критерий: the rand function may introduce data races. Устраивает? Заебись. Не устраивает - пожалуйста, проследуйте в <random>.Так что да, "проще" в данном случае уместно. А вообще очень полезно думать не в рамках "правильно", а в рамках "уместно". Почему-то когда люди слышат "правильно", они часто начинают выключать мозг, вместо того, чтобы самим давать оценку.
Я чото не понял, неужто в гугле не нашлось, как использовать <random>?Там чото около трех строчек для инициализации, зато не надо вырвиглазное целочисленное деление делать. У Лававея было выступление на cppcon, где он ясно и небеспочвенно сказал, что не надо использовать сишный rand.
>>673739> видишь стену текстаВидишь uniform_int_distribution, в которой сразу рабочий пример. А выбирать генератор будешь хотя бы узнаешь чем один отличается от другого.http://en.cppreference.com/w/cpp/numeric/random/uniform_int_distribution
>>673797Ну да, ну да, "мне только лабу зделоть", "чо-то как-то слишком переусложненно", "ну и что что говно, мне и так норм", "я как писатель лаб знаю лучше".Не хотим узнавать и использовать правильные и корректные подходы, хотим как диды на PDP-7 городить костыли, нам же только лабы сдать, ебись оно дальше все конем.
>>673739Если тебе похуй на рандомность, то проще всего нихуя не открывать, а накалякать на коленке линейно-конгруэнтный генератор в три строчки.
А у меня лабораторная была про реализацию законов распределения, 5 штук (нормальный, экспонентный, треугольный и еще пара, не помню), тоже <random> юзать надо было?
Нужен кто-то проходивший книгу Стровструпа. Собственно нужна помощь в задании к разделу 5. Что именно от меня хочет автор ? я должен все 25 строчек вставить в его код сверху?Т.е. я должен сначала исправить все ошибки во всех 25ти фрагментах а затем сыграть в "угадайку" где и что должно стоять?
>>673997>отвалились скриныпофиксил
>>673998Если бы мне предложили обязательный выбор ложку говна или Стровструпа, я бы выбрал ложку.
>>673975Да, и писать свой класс для распределения, вместо стандартных :3
>>673751пиздец, я пиздоглазый. Спасибо, Анон
Анон, поясни,пожалуйста, ещё про qftp ( Я вижу, что он дохуя популярен в этом треде)Поясни как им правильно пользоваться?Это то есть каждую команду надо проверять на commandFinished(int, bool) ? Или можно ждать после всех команд ftp.done?
Sup, /pr. Я нуб, пытаюсь написать раннер, как сделать рандомно генерирующийся уровень? Игра сделана на c++ с библиотекой sfml. Карта в формате tmx.
>>674204> рандомно генерирующийся уровеньstd::random_device, std::mt19937, std::uniform_int_distribution.
>>674204>>674222Бля, криво объяснил. Понятное дело, что он по определенному алгоритму генерироваться будет, скорее всего просто из готового набора чанков будут случайно выбираться некоторые. Но как это можно сделать без перезагрузки игры, на ходу?
>>674223Когда доходишь до конца одной карты начинаешь показывать следующую.
>>673998Контрольные вопросы можно устно.
>>674223По принципу paging geometry вроде как, постранично то есть. Мб так нагуглишь чот.
>>674173> что он дохуя популярен в этом тредек популярности все эти вопросы никак не относятся. просто один долбоёб всё никак мануал не осилит вот и спамит сюда
>>674173>>674593ты кстати тоже иди того, rtfm
>>663494 (OP)помогите пожалуйста понять, что не так с кодомhttp://pastebin.com/bUCXWqUYесть квадратная матрица размера n, и мне нужно найти длину наибольшей возрастающей последовательности, то есть если матрица размера 3, и в ней элементы 1 2 3 4 5 4 3 2 2, то наибольшая последовательность 1 2 3 4 5,и её надо вывести, но мой код почему-то не работает, подскажите пожалуйста, в чём проблема и каким образом можно вывести саму последовательность?
Посоны, хочу в C++ вкатиться. Погуглил, как окна создаются. Нагуглил простой пример с WinAPI. Пиздец, бля, че это вообще за хуйня? Как в ней разобраться вообще???Как мне сделать обычное окно, с двумя кнопочками (Start, Reset), текстовой формой, куда коэффициент вбивается и областью прорисовки в центре окна, куда будет выводиться график функции?
>>674965Берёшь Qt, в Qt Designer шлепаешь кнопки, поле, текст, создаешь action для кнопок, пишешь простенький код для твоих целей.Если не справишься, то тебя ничего не спасет и ты не сдашь лабу
>>674965Качай Qt или студию.
>>674965Между тем, даже на винапи такую програмку можно за вечер написать
>>674970Вот это оно? http://rutracker.org/forum/viewtopic.php?t=3941453>>674971Где вообще за это винапи почитать? С примерами там, как кнопочку сделать, как формочку текстовую и т.д.
>>674885ну помогите же
>>674980 -> >>663494 (OP)>Лабы идут на хуй.
>>674978VS 2015 Community edition с сайта Microsoft. Бесплатно.Примеры в интернете. Тысячи их
>>6748851. Ошибка внутри else - temp надо в 1 сбрасывать в любом случае, а не только когда temp>count2. Ты можешь завести begin и temp_begin=0: каждый раз когда попадаешь тот else, если temp>count, сохраняешь begin=temp_begin, а temp_begin в любом случае делаешь = текущий элемент.Конец отрезка с помощью count можно посчитать.Может быть чуть проще будет сохранять не начало отрезка, а его конец, если он побил рекорд, тогда temp_end не нужен - сразу в end пишется результат в ветке temp>count.
>>674965>Нагуглил простой пример с WinAPI. Пиздец, бля, че это вообще за хуйня?Теперь ты знаешь, что с ним связываться не стоит.Qt это более-менее стандартное решение для C++
>>674978>Вот это оно?>2012кекhttp://www.qt.io/download-open-source/ вот это оно.
>>675050Так там на рутрекере русская версия же. Я на инглише не очень шпрёхаю.
>>675064Русская версия чего?
>>675069Интерфейса, я так понял.
>>675075Интерфейс отклеился
>>675075У библиотеки нет интерфейса.Есть ты про QtCreator, то он со всеми языками поставляется (на самом деле я не проверял, но в сырцах лежат переводы в том числе и на русский).
>>675064> русская версияА откуда она по твоему взялась?
>>675083>А откуда она по твоему взялась?МБ он думает это Фаргус перевёл.
>>675083>http://www.qt.io/download-open-source/ вот это оно. На ХРюху пойдет?Что скажешь по поводу вот этого?>Тем не менее, использование Qt нельзя однозначно назвать хорошей практикой. Во многом это уже не C++, а другой язык, со своими концепциями и паттернами. Qt-код требует дополнительного препроцессинга при помощи встроенных в Qt утилит (т.н. метаобъектная компиляция), поэтому не получится просто подключить Qt как обычную библиотеку и использовать свой любимый компилятор без дополнительного софта. Нельзя сказать, что это существенное препятствие, но есть мнение, что использование Qt нарушает дух C++, раздувает машинный код и порождает макак-любителей кодогенерации.Скачал также книжечку (пикча). Норм или фигня?
>>6751205.5.1 у меня на XP пошла. Только qcombobox в тестовом проекте выдаёт эксепшн почему-то, пока не смотрел почему.
>>675157this?
>>675165Если у тебя VS2013
>>675166Не.>Qt 5.5.1 for Windows 32-bit (MinGW 4.9.2, 1.0 GB) Этот?
>>675178Попробуй это взять.Там в комплекте не только библиотека и QtCreator, но ещё и компиляторы идут.
>>675182Source Components и MinGW мне, как новичку, нужны?
>>675223Ну, MinGW тебе точно нужен, если у тебя студии нет (только я не понял, почему там 2 MinGW. Или верхний — это MinGW-сборка Qt, а нижний — сам тулчейн?).А Source — ХЗ.
>>675232Вот это так и должно быть?
>>675234Пачками полезли
>>675234Лол.. Ну поставь http://www.microsoft.com/ru-RU/download/details.aspx?id=40784
>>675236Не запускается.
>>675238>>675240
>>675238Охуенно
>>675247Походу, XP — слишком тухлая версия.
>>675247Попробуй что-нибудь постарее. Может даже не пятую версию. А 4.8 http://download.qt.io/archive/qt/
>>675253Вот это пойдет? >>674978Как-то слишком долго с qt.io качается.
>>675267>Как-то слишком долго с qt.io качается.http://download.qt.io/archive/qt/4.8/4.8.6/qt-opensource-windows-x86-mingw482-4.8.6-1.exe.mirrorlist
>>675269Компилятор в комплект входит? Или его где-то отдельно искать?
>>675283Судя по отличию в размерах mingw и не-mingw-версий — входит.
>>675284
>>675308Гм. Ну, значит, качай.
>>675310Распаковал. Не могу найти install.exe
>>675315Это просто архив.
>>675316Оно? Куда теперь тыцать, чтобы hello_world.exe сделать? :3
>>675322https://wiki.qt.io/Qt_for_Beginners#Our_first_windowДальше уже сам.
>>675324Qt Creator тоже надо качать?
>>675329Г. А его не было в инсталлере qt?Ну, качай http://download.qt.io/archive/qtcreator/
>>675330Запустил какую-то бяку "qtvars.bat", хз зачем. Теперь проц на 100% грузит и что-то там в дос-окне мигает.Creator любой на хрюшку встанет? Или старые версии качать?
>>675333Попробуй начать с последних, у них время модификации ещё старее, чем у инсталлера qt.
>>675335Тут мне их теперь походу надо всё между собой посоединять, что понаустанавливал?
>>675344Видимо да.
>>675344
>>675346попробуй http://doc.crossplatform.ru/qtcreator/2.0.1/creator-project-qmake.html
>>675346http://doc.crossplatform.ru/qt/4.3.2/install-win.html или лучше засунь qt в path (третий пункт по ссылке)
>>675345Требует, чтобы я ему указал путь к компилятору и к отладчику. Что из этой всей пачки ехе-шников компилятор, а что - отладчик?
>>675346>>675350>>675351http://doc.qt.io/qt-4.8/install-win.html#step-3-set-the-environment-variables
>>675350"F:\mingw32\bin" тоже на всякий случай в path запиздохал :3
>>675355Это не на всякий случай, там написано так сделать:> You may also need to ensure that the locations of your compiler and other build tools are listed in the PATH
>>675352Я их все три в path подобавлялF:\Qt\4.8.6\bin;F:\mingw32\bin;F:\Qt\qtcreator-2.5.2\bin
>>675359Посмотри ещё http://gromr1.blogspot.ru/2014/04/install-qt-4-8-5-mingw-on-windows.htmlЕстественно, не надо прямо делать всё, что там перечислено.1) Версии и пути у тебя свои.2) Собирать GDB вряд ли нужно.3) Если ты добавил всё в PATH, вряд ли нужно будет руками пути прописывать, компилятор и Qt должны савтодетектиться.Может, с чем-то другим придётся повозиться.
>>675359>>675361Ну и, до QtCreator 3, понятия "Комплект", наверное, не существовало.
>>675361А как теперь из Creator попасть в Designer, чтобы побольше кнопочек в проект напихать?
>>675367Пуск -> ... -> Designer
>>675369Ага. Кажись въехал немношк. Сенк) Пойду книгу курить >>675120
>>675383А еще такой момент. Как его скомпилировать? Где тут вообще С++ код? XML только какой-то.
>>675386https://wiki.qt.io/Basic_Qt_Programming_Tutorial
>>675388А не такой вики, только на русском?>Я на инглише не очень шпрёхаю.
>>675390Там всё в картинках
>>675393Работает вроде
>>673229Формошлепство, компьютер вижн
>>663494 (OP)Сап /pr! Чем отличается буфер от потока в С?
>>675535Конкретнее. Какой буфер от какого потока?
test
Нужно передать видео в реальном времени по UDP. Какие протоколы существуют и куда копать?
>>675840познай всю силу WebRTC (c++ либы, не js интерфейса)
Щас бы в новый тред перекатиться.
Ну окей, а как с работой на этом вашем с++?Фрилансить или удаленно работать можно?
ПЕРЕКАТhttps://2ch.hk/pr/res/676033.htmlhttps://2ch.hk/pr/res/676033.htmlhttps://2ch.hk/pr/res/676033.html
Вопрос про Qt.Как правильно сохранить дату QDate (без времени) в базу данных SQLite (.db) в таблицу с полем DATE и также считать её в формат QDate из базы данных?"01/02/2005" в базе считывает в QDate как (invalid)Гугол охуел, у них там работает блятьГде я долбоеб, анончик?
Посоветуйте легкую графическую библиотеку для работы с 2д графикой
Кароче, есть Qlable, через свойство Pixmap пытаюсь залить пикчу на форму. На превью отображается, а на дебаге нет. Что за хуйня?
При установке visual studio обязательно internet explorer нужен?
пиздос! не пашет dev c++, не хочет компилировать даже hello world, он просто стоит и нихуя не делаетпамагити
Прочитал >Роберт Лафоре - Объектно-ориентированное программирование в C++ (2004)после 2 лет байтоёбства в K&R, за плечами поверхностное изучение 3 тома Кнута (ещё в универе), небольшой опыт писания на коленке на низком уровне (ASM), немного понимаю в модулях ядра, драйверах Linux и кросс-компиляции. Про графику не знаю вообще ничего, с трудом переделал шаблонную формочку в Qt для отслеживания своего заказа на почте. Не программист, инженер. Цель - летом сменить работу и пойти джуниором на крестах, потому что интересно, перспективно и потому что заебало инженерить. Собираюсь обмазаться Маерсом по STL и им же Effective C++, какие ещё советы? Нефть авансом, выручайте, анончики
Программач, есть один древний пека х86, есть новый пека х64 с VS 2013 на борту. Как мне писать приложения под первый пека?
Задача усложняется тем, что на старом пека ХР, на новом восьмерка
>>694254если не секрет, где ты работал два года байтоёбства? и сколько получал?
>>696373убейся об стену
>>694254Сорт оф поддвачну. Быдлокодерство на крестах в НИИ за плечами, впереди - страх собесов и чувство, что я днище ебаное в рамках коммерческой разработки.В шапке чот особо не нашел каких-то хинтов по рейтингу знаний так сказать. Что прям таки маст-рид и самое ходовое в вопросах на собеседованиях?
хорошо ли сейчас в 2016 учить с++ 11 или даже с++14? Обязательно ли знать как было до этого с++98? Прост не хочется голову забивать.Интересно как с этим в больших корпорациях? Понятно что старое не трогают, а вот новое на новом стандарте пишут или как?
>>663494 (OP)Что скажете о видеолекциях по c++ вообще и вот этих в частности https://www.youtube.com/watch?v=atVgLRzl3rI ? На мой нюфагский взгляд охуенно, прямо слушаю и кайфую. Если кто подкинет моар подобного, буду признателен.