>>1119913 >А что надо читать? K&R штудируешь, прочитывая пару раз, делаешь упражнения, добиваешься чтобы каждая фраза в приложении где формально описан язык была тебе понятна потом берешь страуструпа "с++ специальное издание" и оттуда зубришь ТОЛЬКо главы относящиеся непосредственно к языку (это будет около 150 страниц), остальное нахуй не нужно, тк страуструп любит лить воду, выполняешь несколько упражнений, потому что опять же страуструп любит в своих книгах давать дохуя упражнений, которые все хуй переделаешь если ты не ноулайфер ебаный
ну а дальше уже кодишь, время от времени почитываешь доки-статейки по тем аспектам языка что тебе непонятны и понадобились при решении практических задач
>>1119916 >K&R штудируешь Проштрудировал года 3 назад. Не впечатлило. Нужно еще разок? >берешь страуструпа "с++ специальное издание" и оттуда зубришь ТОЛЬКо главы относящиеся непосредственно к языку (это будет около 150 страниц) Спасибо, так и поступлю. И почему те книги не нужно читать? Вот интересно просто. Везде советуют, а тут наоборот.
>>1119973 если совсем нулевой - то рихтера "windows для профессионалов", 4е издание ну а дальше уже ебашишь по msdn или грызешь более специализированные книги, статьи а вообще конечно, лучше не начинать - работу ты щас на крестах да еще и на винде хуй найдешь если новичек, искренне не советую в общем
>>1120032 >и совсем нулевой - то рихтера "windows для профессионалов", 4е издание >ну а дальше уже ебашишь по msdn или грызешь более специализированные книги, статьи >а вообще конечно, лучше не начинать - работу ты щас на крестах да еще и на винде хуй найдешь если нов Сори, я уже нашёл, я раньше под Linux-ом прогал, а теперь мне надо будет копаться в тоннах legacy windows говна.
Аночик, помоги. Пишу курсач на с++. В задние написано: реализовать оконный интерфейс с помощью ассемблеровских вставок. Вставки могут быть на другом языке, например:си,с#. Вопрос в том как это все сделать? И что вообще за вставки, в гугле видел только про ассемблеровсктекие ? Пишу все в vs.
>>1120506 каким молодым мясом, артист? молодые вокруг все ангуляр-программисты, и прочий веб. Чувак в моей команде, которому в районе 45 - получает больше 400к в месяц чистыми.
>>1120516 Если тебе 18 лет, то вкатываться надо в то, что тебе интересно, будь это стоматологшия, С++, сьем видосов на ютубе и прочая хуйня. Только то, что тебе правда интересно может принести тебе доход и счастье в жизни. Если тебе похуй вообще все - вкатывайся в ангуляр, будешь ангуляр программистом
>>1120473 я уже вкатился в инженеры и я не думаю, что кресты будут сильно хуже. хотя бы по хх.ру там стабильный рейт х2. сука. знал бы прикуп, уже б давно постелил для переезда в сочи.
>>1120653 Ну, если честно - мне очень сильно повезло, что я нашел вакансию, за которую давали дохуя денег, и у меня по требованиям, даже рекомендованным было 100%ное попадание.
>>1120735 Скажем так, требования были охренительно специфические, но они у меня были по счастливой случайности (с нужной областью на удаленке немного работал).
>>1120554 Умеешь поддержать, сразу видно. >>1120561 КутэКреатор. Что для меня важно в нём: - умное автодополнение (не как в нотпад++) - поиск определений/объявлений в инклудах - проекты (компиляция без ебли с мейкфайлами, остаётся ебля с либами) - подсветка структуры вложенности блоков кода Полезные излишества: - статический анализатор (включается в "плагинах") - подсветка всего и вся, а не только базовых понятий >>1120564 Он IDE просил, а не OS. >>1120577 Съеби.
>>1120749 > Съеби. Просто поставь студию 2017 и решарпер С++ - и сам увидишь, каким говном ты обмазывался все это время. Но да, культикреатор сильно лучше, чем остальные ИДЕ под луникс, типа ЭКЛИПСА, там такой пиздец, что я лучше в виме писать буду.
>>1120764 >Просто поставь студию 2017 и решарпер С++ - и сам увидишь, каким говном ты обмазывался все это время. Всё это время - это студии 2010, 2012, 2013? В какой там студии вернули возможность отключить MRU при ктрл-табе без плагинов? Ты падения МСВС-компилятора не видел - зато я видел. У тебя манагед-код летает, а у меня нет. Ты баги студии не видел, зато я видел. Студия твоя ставится хуй знает куда, занимает гигов 10 (ЕМНИП), прошу поставить на Е - один хуй куча дерьма влетает на корневой диск. Поддержку других компиляторов там когда добавили хоть? Два года назад? (инбифо Интел ИЦЦ) Про встраивание блоба от майков в скомпилированный код коммунити-2015 ты не знаешь или забыл? Совместимость статических либ там уже проверяется или до сих пор нечитаемые сообщения компилятора или ошибки рантайма? В 2013 (или в какой там) не мог настроить цвет столбца номеров строк - всё тёмное, слева белая блямба. Редактор цветовых схем там в каком году завезли или нет его до сих пор? Вызов оффлайн-документации по нажатию кнопки там появился уже или нет?
Автодополнение в 2015 на моём E8500 работает секунды полторы на мало мальски значительном проекте. В QtCreator - доли секунды.
Что в ней такого охуительного, что всё остальное мусор - одному тебе известно. Ни одно положительное качество студии (я разве говорил, что их нет?) для меня не перевешивает недостатки.
>>1120782 > Автодополнение в 2015 на моём E8500 работает секунды полторы на мало мальски значительном проекте. В QtCreator - доли секунды. Вопросов более не имею.
>>1120782 > ты падения МСВС-компилятора не видел - зато я видел Я их два зарепортил майкрософту.
> Ты баги студии не видел, зато я видел. Сама студия работает близко к идеальному. Но мне нравится твоя уверенность в твоем, что твоя красноглазая параша без багов.
> Студия твоя ставится хуй знает куда, занимает гигов 10 (ЕМНИП), прошу поставить на Е - один хуй куча дерьма влетает на корневой диск. Это вообще не проблема, а высосанная из пальца хуйня. Если у тебя винт на 80гб - ну, попробуй найти работу.
> Поддержку других компиляторов там когда добавили хоть? Два года назад? (инбифо Интел ИЦЦ) Шланг есть, гцц ремоутно умеет.
> Про встраивание блоба от майков в скомпилированный код коммунити-2015 ты не знаешь или забыл? Знаю, вообще ничего страшного.
> Совместимость статических либ там уже проверяется или до сих пор нечитаемые сообщения компилятора или ошибки рантайма? Не сталкивался, но плохо представляю, как у тебя IDE разные ABI сама проверяет лул.
> Редактор цветовых схем там в каком году завезли или нет его до сих пор? В 2015 был точно.
> Автодополнение в 2015 на моём E8500 работает секунды полторы на мало мальски значительном проекте. В QtCreator - доли секунды. Тут самый главный кейс, что ты студентик-хеллоуворлдщик, который настоящую разработку не видел, а уже что-то придумывает. Давай, напиши мне в культекреаторе драйвер под винду. Или подебажь без пердолинга.
>>1120577 Неистово двачую! На работке сами сначала всё пишем в студии+кутя. В линукс залазим только чтобы релиз компильнуть и выкатить. >>1120799 Дополню, что в студии охуенный конфигуратор проектов. Не надо зубрить флаги и в маны лазить на каждый чих.
>>1120809 >Здарова кореша тут нет твоих корешей, уебок тот только наивные лупогразые кодерки готовые отвечать на вопросы вкатывальщико-ньюфагом, и тем самым пилящие сук, на котором сидят
>>1120799 >Но мне нравится твоя уверенность в твоем, что твоя красноглазая параша без багов. Мне не нравится твоя уверенность в моей уверенности. Это не я сравнивал все ИДЕ с визуалстудией, как говно с божьим даром, а ты. >Шланг есть, гцц ремоутно умеет. Я не спросил, что оно умеет, я спросил "когда". Правильный ответ - год назад, когда индустрия к стенке припёрла. >Не сталкивался, но плохо представляю, как у тебя IDE разные ABI сама проверяет лул. У меня IDE и компилятор разными организациями написаны, с IDE спрос невелик. >Тут самый главный кейс, что ты студентик-хеллоуворлдщик, который настоящую разработку не видел, а уже что-то придумывает. Адхоминем (правдивость суждений разбирать не буду). Олсо, обрати внимание на то, что я не тебе, напористому драйверописателю, советовал Креатор, а ньюфренду. >Давай, напиши мне в культекреаторе драйвер под винду. Надо будет - напишу. >Или подебажь без пердолинга. Есть разные подходы к дебагу, не только кнопочки в окошке тыкать. >>1120824 Хуёво быть тобой. >>1120850 Нет и нет. Я помню, что у меня были какие-то траблы в 4.0.3, иногда он не вызывался, хотя должен был бы. Вот прямо сейчас проверил в Qt Creator 4.4.0 - нет, не надо его вызывать сразу после создания. https://stackoverflow.com/questions/12873437/force-qtcreator-to-run-qmake-when-building В QT5.8 даже в этом случае надо вызывать его, например, тоже проверил.
>>1119921 Тут это где? Ебанутый шизик который скорее всего ниразу в жизни не писал комершал код и не сталкивался с говно-решениями от коллег высрал свое дохуя важное мнение касательно того что стоит читать ньюфагу, а что не стоит? Тогда да
>>1121007 UPD: я блять уже молчу про то что человек на вопрос про С++ отвечает книгой по совершенно другому ЯП который ебучему ньюфагу мало того что не всрался на стадии "ебать где я", так еще и отобьет нахуй желание делать что-либо (что хорошо, тут ему респект)
>>1119899 Шизан, иди-ка нахуй. Саттер и Майерс топовые мужики и в книгах обоих разобраны тонкие моменты стандартов и лайфхаки, которые предотвращают десяток ошибок, которые ты мог допустить просто прочитав Стауструпа
>>1120799 >Знаю, вообще ничего страшного. гыыыы ну че там ептеть степашка нахо оно надо то сука хуйня ета ебать я кнопку жамкаю у меня билдит ептель я сука ему гвоорю РАБОТАИ ПАДЛА оно и работает то епта мне че надо нахуй сиську в рот пифко на столе мне аще похуй ептсель мопсель)))))))
>>1121010 если ты не будешь городить абстракции, а просто тупо писать приплюснутый структурный код (как и делают в большинстве коммерческих проектов по сути), то книги саттера и майерса - нахуй не нужны, тк они посвящены как раз решению проблем возникающих при проектировании "воздушных" замков типа обсуждения на десятках страниц у майерса подводных камней, когда вы получаете наследование ромбиком, ну или вдруг решаете сделать функции, полиморфные ко множественным классам а не одному и прочую поеботу и по молодости я прошуровал и саттера, и обе книжки майерса и прочие подобные книги все это было лишь потерей времени
Есть текстовый файл с вопросами по тесту такого вида: $que$вопрос? $ans$ответ Количество $ans$ может быть разным для каждого вопроса. Скажем, мне надо или оставить только первый вариант, или видоизменить формат, например, в -1- вопрос? ответ -2- вопрос? ответ Как ньюфажику реализовать что-то подобное? Надоело ручками всё делать.
>>1121018 тащемта это тонкости и очень нужны все эти вещи, если ты архитектуру разрабатываешь всего. Даже типичные патерны проектирования стоит прочесть для образования.
>>1121018 >а просто тупо писать приплюснутый структурный код (как и делают в большинстве коммерческих проектов по сути)
Смотрите сюда зеленые нюфани желающие вкатиться в АЙТИ - это ваше будущее. Вы - это он. Бесконечный цикл мусора в природе, радует глаз и пугает своими масштабами одновременно.
>>1121026 >>1121024 да, да в этом и реальность: откройте на гитхабе выстрелившие проекты на крестах - внутри у них будет приплюснутая сишка это реальность и да, там может быть с++14, с++11, похуй, будут юзать только чисто потому что там полно удобного синтаксического сахара, объем кода реально сокращается
>>1121029 Я тебе больше того скажу - ты все еще не особо умный, не надо себе льстить, тем более на убогой анонимной борде. Я очень надеюсь что в новом году ты наконец понял что выбрал не ту дорогу и начал верстать лучшие в Подзалупинске одностраничники с рекламой пикап тренингов. Ведь самое главное - это счастье и внутренний баланс, а уже потом эта хуйня для задротов тупорылых со своими паттернами, кодинг-стайлами и советами.
>>1121037 Моя маленькая, глупая, наивная обезьянка. Когда-нибудь ты поймешь что угрозы в интернете выглядят также глупо, как и ты в попытках высрать свои новые мысли.
>>1121028 Чем больше ты знаешь - тем лучше. И майерсы и банда 4 маст рид. Знания тебе не мешают писать процедурный код, но ведь будут разные задачи с разными решениями. Я волбще сфинае хуярю в кернельный код, и мне норм. А в соседнем файле у меня си с классами. Все от задачи зависит
>>1121042 >майерсы и банда 4 маст рид nop как и талмуды от страуструпа, тащем-та которые я тоже прочитал дизайн и эволюцию, язык программирования с++ спец издание, плюс последнюю "принципы и практика" чтиво уровня аластера рейнольдса, если вы читаете фантастику, такая же графомания и куча воды
Плюсач, поясни за qmake, cmake, nmake и иже с ними. Что это такое и зачем оно надо? Алсо интересует инфа о генерируемых при компиляции файлах, (.lib, .o и т.п.) Расскажи или кинь ссылку где прочитать.
>>1121112 Месье, не охуели ли Вы? Почему вы считаете, что malloc тормозной? Почему вы считаете, что allocator сделан не через malloc или его эквивалент?
>>1121070 Отличие в том, что аллокаторы - это концепт, типы, соответствующие которому, принимают контейнеры, и написать свой аллокатор ты можешь, а написать свой new/delete - нет.
>>1121102 я для себя открыл кнопочку add reference, и студия сама все подключает теперь
>>1121132 На каждый чих дергать syscall'ы, когда ты можешь сразу выделить N мегабайт, и раздавать\считать их прям в юзермоде - вот зачем нужен аллокатор.
>>1121147 >На каждый чих дергать syscall'ы Месье, Вы, верно, охуели. Извольте показать описание malloc в докуентации к ядру винды или линукса, я настаиваю.
Пацаны научите писать аллокатор. Я чет бегло гугл посмотрел англоязычный чет картинв не сформировалось. Где allocator_traits, когда отн создается, если он по умолчанию, какие та и там функции должны быть тид? Я даун просто. Ткните еблом в туториал нормальный или в доку плез.
>>1121407 Начинай с Таненбаума, потом постепенно читай книги по алгоритмам, там поймёшь, какой тебе нужен аллокатор и т.д. Google, how free knows memory size — расскажет кое-что об устройстве кучи в большинстве современных я/п.
>>1121420 Тогда тебе нужен Стенли Липпман. У него показаны все указатели: shared, unique, weak и т.д. Правило, если кратко, такое: исчезает указатель — исчезает область памяти. Аллокатор там какой угодно может быть.
Собственно задали задачу, на С, аноны помогите решить, за помощь скину копеечку Применяя прямую запись в видеопамять получить на экране оригинальный динамический видеоэффект «пламя».
>>1121415 А если мне нужен трёхмерный вектор, но в нём нужно изменять только два размера, как мне уточнять это? Не очень понимаю, как он объявляется, как вектор с элементами векторами?
>>1120877 > Дополню, что в студии охуенный конфигуратор проектов. Не надо зубрить флаги и в маны лазить на каждый чих. Полное дерьмо, ИМХО. Конфигурации вперемешку блять, больше ебешься, чем делаешь. Лучше иметь генератор проектов, чем студийными проектами пользоваться.
> Не надо зубрить флаги и в маны лазить на каждый чих. Зато надо как ебалас сидеть и мышкой тыкать часами в поисках того, что нужно.
> На работке сами сначала всё пишем в студии+кутя. Ну че там, завезли UTF-8 для файлов по-умолчанию или все в Windows-1251 сохранеяете, что аж потом ни один редмайн не может нормально диффы показать
Алсо. Все IDE под кресты сейчас - сорта говна. MSVS становится еще более менее вменяемой, если накатить решарпер или Visual Assist X, но в первом случае, она становится пиздец какой медленной, а во втором мы имеем устаревшие фичи, которыми пользоваться не очень-то и удобно.
>>1119750 (OP) Нужна помощь. В общем есть один проект, который пилили на VS2017, и есть второй проект, для которого нужен Intel Parallel Studio. Второй проект нужно заюзать в первом.
Проблема такая, что для VS2017 не могу накатить расширение от Parallel Studio. Уже заебался разные версии качать и устанавливать по часу. Но для VS2012 нормально встал Parallel Studio 2013, но на ней не запускается первый проект, который требует Platform Toolset v141.
Как подружить 2017 студию с параллел студио? Или как легко даунгрейднуть проект под platform toolset v110? Или какие еще есть пути решения проблемы?
>>1121551 >Конфигурации вперемешку блять >Зато надо как ебалас сидеть и мышкой тыкать часами в поисках того, что нужно. Ай не пизди, всё там разбито по вкладочкам и найти не проблема. Ты точно студией пользовался?
>Лучше иметь генератор проектов Генераторы проектов это заебись, я согласен, особенно если всё уже за тебя написано. Но лично меня просто воротит если надо писать всю поеботу вручную.
>Ну че там, завезли UTF-8 для файлов по-умолчанию Да печалька, не завезли. Скачай экстеншн делов-то. Кстати, чтобы компилер воспринимал сорцы как utf-8, можно добавить флаг /utf-8. Может антуанам эта инфа пригодится
ИМХО, решающими преимуществами студии является юзер-френди интерфейс и заебатый автокомплит. За это можно простить всё остальное.
>>1121407 cppreference.com - вот твой гугл. http://en.cppreference.com/w/cpp/memory/allocator_traits allocator_traits - это то, что должно быть в области видимости на момент использования аллокатора. Делаешь это так: namespace std{ template<> //потому что аллокатор_трейтс - это шаблон, который ты доопределяешь для своего аллокатора struct allocator_traits<moiALlocatttttor>{
>>1121553 как бы те сказать.. вот если ты работаешь на фирме где уже не достаточно производительности компилера от майков и где юзают компилер и инфраструктуру от интелл то твоей квалификации, очевидно же, должно быть достаточно для решения таких текущих задач что описано в твоем посте следовательно, можно сделать вывод, что ты просто занимаешь чье-то место, ты не тянешь на это место по знаниям в идеальном мире ты должен быть уволен, выкинут на помойку и сдохнуть от голода
>>1121769 >начинаю свой путь в программирование специализироваться на крестах в 2018 - самая гиблая затея для вкатывальщика, закрой этот тред и больше никогда сюда не заходи ява, веб - иди туда
>>1121729 Я не работаю, лол. В универе задание по предмету дали такое. Вручную все-таки получилось перенастроить проект под v110, но вылезла куча всяких синтаксических ошибок, возможно из-за неполной поддержки фич новых версий С++. Сегодня подумал, что можно было бы наверное скомпилить проект на 2012 студии как библиотеку, и подключить ее в проекте на 2017 студии, но не уверен, что все прокатит. Да и уже начал ставить 2015 студию, параллел студио накатилась туда, но всплыли снова проблемы с Windows SDK 10.
>>1121950 v110 120 140 - это версия компилятора, грубо говоря. >>1121967 А преподу твоему за что платят, блядь? Подай в суд на шаражку за плохое преподавание.
>>1122518 Происходит то же самое, что происходит при входе в любой блок кода - сдвигается граница стека на любое заданное значение, внутри создаются переменные, массив этот, например. Причём статическим он быть не может. Не по станарту эта хуйня.
>>1122545 темплейты и constexpr позволяют "закрыть" почти все применения define на долю define остается, по сути, только управление тем, какие куски кода будут включены-исключены при различных сборках
Хочу запилить WebSockets сервер. Читаю стандарт (https://tools.ietf.org/html/rfc6455#section-1.3), и в самом начале 8 страницы более конкретно объяснено, что я должен сделать с ключом, приходящим от клиента. И все хорошо до того момента, когда они кодируют закодированную через sha1 строчку в base64. У меня получается вообще другое, а именно: YjM3YTRmMmNjMDYyNGYxNjkwZjY0NjA2Y2YzODU5NDViMmJlYzRlYQ== У них же: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=, что вообще есть что-то другое. Мне нужно что-то с полученной строкой после кодировки в sha1?
>>1122804 Я дебил. Проблема в том, что я строку преобразую, а не hex числа. А вот как блять сделать правильно я не ебу. В php помню была функция pack которая hex строку (b37a4f2c...) упаковывает в бинарную строку (или как то так). Как это сделать не подскажешь?
>>1122961 Нихуя! Если C имеет числовой тип большего ранга/приоритета/вотевер, то приводится будет к нему. Это я уже не говорю о том, что оператор+ может быть перегружен. >>1122954 Потому что у второго варианта два операнда. Ещё лучше было бы ++C, но любая практическая разница между ++C и C++ может быть уничтожена после инлайнинга.
>>1123952 Вот-вот, блядь! Я тебе и говорю. В ЖС то нет таких проблем, понимаешь, какая зуевина-то? Вот и перепиши все на нем, нахуй. Понимаешь о чем я толкую?
>>1123964 Для тяжелых вычислений можно дернуть по FFI либу, или использовать модуль написанный нативно, или IPC к программе, написанной на низкоуровневом языке.
Двач, как я понял теперь аллокаторы нужно использовать через allocator_traits, может кто пример привести как это делать? Я что-то не пойму, а примера найти не могу...
Привет. 1) Можете мне рассказать, как вообще писать на плюсах нормальный и современный код? Ну, я использую пару классов из стл, использую смартпойнтеры почти везде. Использую по максимуму всякие штуки, типа инициализации списком. На что мне еще нужно обратить вниманию? Что почитать? Надоело писать на си с классами, как в первый раз.
И еще вопрос, схожий с первым. 2)Как правильно дизайнить классы/наследовать? Например, я стараюсь всегда явно указывать оператор присваивания/конструктор копирования/деструктор с помощью default/delete. Потом стараюсь везде делать конструкторы explicit. Как нормальные разработчики пишут классы?
А то иногда смотришь какой-нибудь проект на гитхабе и там темплейты, лямбда-выражения кругом, мув-семантикс кругом, в самом коде какие-нибудь ассёрты еще стоят. И я как-то даже не знаю, хорошо это или нет.
Аноны, можно ли сделать так, чтобы map не выделяла память в куче во время работы с ней? То бишь, создал map на n элементов и больше бы она кучу не трогала.
>>1124788 Предложение которое начинается со слова "подскажите" само по себе является вопросом, то что ты безграмотный и тупой это объясняет твоё применение.
Добры день, ребят ситуация такая. В пятницу общался с работодателем и пришлось закрыть комп и уехать по делам на выходные (да я у родителей сейчас и помогаю им). В понедельник приехал и увидел что он в пятницу на email отправил тестовое задание. Вчера приступил к его выполнению. Что стоит написать работодателю и стоит ли что либо писать? Хотел написать следующее :"Здравствуйте, хотел бы уточнить сроки выполнения тестового задания. Приступил к выполнению задания вчера, в связи с личными обстоятельствами." Или просто написать про сроки выполнения? Задачки не сложные, я на джуна претендую. Как быть анонимы? Как он отреагирует на это? Стоит ли ему сообщать что вчера только начал выполнять и в нагрузку намекуть почему? Или просто спросить по срокам выполнения? Как быть...
>>1124841 Такие предложения, в котором кроме слова подскажите присутствует вопросительное слово без вопросительного знака, безграмотны в первую очередь, поэтому сдохни. >>1124842 >Или просто написать про сроки выполнения? This. >>1124887 Кодировку в редакторе настрой, блядь.
Сап. Есть такой код из книги Дьюхерст. "С++. Священные знания"
class State { public: //... int population() const; float aveTempF() const; //... };
inline bool popLess( const State &a, const State &b ) { return a.population() < b.population(); }
State states[50]; //... / std::sort( states, states+50, popLess ); // по населению /
struct PopLess : public std::binary_function <State,State,bool> { bool operator ()( const State &a, const State &b ) const { return popLess( a, b ); } };
sort( states, states+50, PopLess() );
Там такой текст: >Положительный эффект применения объекта-функции в качестве компаратора в том, что сравнение будет подставлено в строку, тогда как в случае применения указателя на функцию этого сделать нельзя.
>>1125016 >тогда как в случае применения указателя на функцию этого сделать нельзя. Нагло пиздит. https://godbolt.org/g/zrskMv Называется это "встраивание функций", а вовсе не "подстановка в строку". Читайте оригиналы! >>1125057 Именно.
>>1125057 > указатели на От ситуации зависит. В общем случае указатель нельзя заинлайнить, потому что он может указывать на разные функции. Инлайн возможен только если компилятор в состоянии доказать что конкретный указатель всегда указывает на одну и туже функцию. В том примере важным моментом являетсято что инлайн (возможно) происходит в шаблонном коде. std::sort принимает в качестве одного из параметров шаблона тип компаратора. В случае использования функциональных объектов этим типом будет имя класса. Тоесть, если использовать три разных (по типу) компаратора будет сгенерировано три разных варианта шаблонной функции - каждая со своим шаблонным параметром соотвествующим имени класса компаратора. При чем в каждом конретном случае будет четко определен код компаратора - тоесть у компилятора будет возможность его заинлайнить. Если же использовать указатели на функции, то не смотря на то что функции будут иметь разные имена - эти имена будут именами указателей. А тип у этих указателей будет одинаков. Тоесть если использовать три разных функции, будет три разных указателя, но будет сгенерирован только один вариант шаблона std::sort где шаблонным параметром компаратора будет "указатель на функциию с двумя аргуменами типа Т" - так как имя функции не является частью типа указателя на эту функцию. В таком случае компилятор заинлайнить не сможет. Обратноже, все зависит от ситуации. В примере из поста >>1125016 я в общемта не вижу причин почему бы дохуя хитрожопый компилятор не смог бы заиланить и в случае с указателем на функцию, так как там можно доказать что указатель всегда указывает на одну функцию. Но именно в общем случае тот хуй из книги скорее всего прав. Если у тебя в одном юните трансляции генерится std::sort для указателей на разные функции то заинлайнить не получится.
>>1125124 >Но именно в общем случае тот хуй из книги скорее всего прав. Хуй из книги немногословен и в этом неправ. Заинлайнить вызов функции через указатель можно во ВСЕХ случаях, в которых он получается напрямую из идентификатора функции, и во многих других тоже. Нахуя писать книгу, если не знать того, что вызов по указателю тоже можно инлайнить? >В том примере важным моментом являетсято что инлайн (возможно) происходит в шаблонном коде. В том примере важно не то, что код шаблонный, а то, что он в заголовке определён. Такая же сишная функция чаще всего находится в динамической либе, например, и инлайнить там некуда. >Тоесть если использовать три разных функции, будет три разных указателя, но будет сгенерирован только один вариант шаблона std::sort где шаблонным параметром компаратора будет "указатель на функциию с двумя аргуменами типа Т" - так как имя функции не является частью типа указателя на эту функцию. В таком случае компилятор заинлайнить не сможет. Хуйня полная. Никакая часть стандарта не мешает компилятору зайнлайнить хоть аллаха, даже если аллахов три штуки, и инлайнить их невыгодно.
>>1122137 > Хочу писать игры на vulkan или directx. Что выбрать?
Если хочешь делать именно игры, а не пердолить байты и изучать GAPI - то бери готовые движки.
> Какие учебники прочитать? C++ практически не знаю.
Если тебе нужно именно пердолиться с GAPI и ты хочешь стать вторым кармаком (в ирл геймдеве - это на самом деле быть такой хардкорной байтомакакой, которую заставляютс ебаться со всеми GAPI (включая мобильные и консольные) одновременно и и которую долбят шипастой дилдой чтобы на всех платформах графическая подсистема работала одинаково), то: Для начала страуструп (или шилдт). Затем https://vulkan-tutorial.com/ и https://msdn.microsoft.com/ru-ru/library/windows/desktop/dn899121(v=vs.85)
Если нужны примеры, как это все ИРЛ применяется, то вот исходники круйзис энжина на гитхабе:
>>1125136 >Заинлайнить вызов функции через указатель можно во ВСЕХ случаях, в которых он получается напрямую из идентификатора функции Ну, когда тело обоих функций доступно, ясен хуй. А ещё там LTO есть (не разбирался ещё с этим).
>>1125420 Самая примитивная функция определения принадлежности числа отрезку - две инструкции на АРМ и три инструкции на x86 после встраивания, на гигагерцовых процессорах это производительность порядка миллиарда раз в секунду. Если у тебя там такая жопа, что ты написал эту примитивную функцию, и она недостаточно быстрая, то ты криворучка.
>>1125424 >на гигагерцовых процессорах это производительность порядка миллиарда раз в секунду Ну так, блядь, это ж не единственное, что мне нужно делать.
>>1125427>>1125426 Так ты покажи хоть какой-то код, блядь! Дрочка на производительность без ТЗ бесполезна. У меня есть идеи того, как можно сделать ещё быстрее, но ты же не дал никакого контекста.
>>1125644 Чёто вообще странное. У тебя же example может передаваться по значению и не обязательно там будет ссылка. А если будет нулевая ссылка, то вообще ud получится.
>>1125698 Приятно встретить мыслящего человека на харкаче, вселяет надежду. Остальные проглотили молча. Мы готовы предложить Вам вакансию синиор-С++-разработчика с окладом $17400 и релокейтом в Америку, вы согласны?
Существует ли вообще приличная удаленка на С++? Так, чтоб на $8к+. Какие технологии для этого надо шарить?
Занимался системными вещами, пилил веб-серверы, бэкэнды, алгоритмические либы. В сцаном яндексе два года тоже отпахал. Общий стаж (не считая студенчество, интернатуру) приличного кодинга чуть больше 5 лет. Топовое образование, вся хуйня. Ну и обширная системная экспертиза, зачатки машинлернига и какое-никакое знание еще парочки языков. Уперся в 200к в ДС онсайт. Ну, максимум 250 может выпрошу. В принципе, готов двигаться в тимлидство, но по з/п разницы нету по сути, а работа куда менее интересная. Валить в европку невыгодно, в штаты (гугл, фейсбук и прочие) - долго хайриться, делать визы - пару лет займет. Ну и наслышан, что там будет не весело, хоть и илитно. Бесят жс макаки, которым удаленку найти все равно, что поссать сходить. Че, тоже на жс перейти, или может чего подскажете, братки-браточки?
>>1125841 Маленький провинциальный город, и у компании дела идут неважно (что не мешает принимать новых людей иногда). Вот и получается, что несмотря на то, что я делаю коммерческие проекты, зарплата такая, и не растет.
>>1125858 В Фейсбуке бэкэнд написан на плюсах, соответственно плюсовики там нужны тысячами. Их подразделения Oculus, Oculus Research - тоже почти одни плюсы.
>>1125873 >В Фейсбуке бэкэнд написан на плюсах, соответственно плюсовики там нужны тысячами. >Их подразделения Oculus, Oculus Research - тоже почти одни плюсы.
И там наверняка одни 30-летние шевелюны усами требуются с опытом в сложных проектах овер 9000 и ньюфаней туда не возьмут.
>>1125913 Потому что ты в шары долбишься и в список ошибок не смотришь, не смотришь на соседние строчки, и вообще код не твой, иначе ты бы знал, зачем там в начале using.
>>1125928 Это я один думаю. Тут часто бывают уродцы, которым уже ссылку на докуменацию даёшь, а они всё "нет ты скажи где ошибка". Раз ты сам допедрил, то, быть может, у тебя не лаба.
Есть ли в STL массив, который можно создать с максимальным размером, но чтобы он возвращал размер реальных данных? Пример: создаем буффер на 1000 байт, реальный размер - 0. Пишем туда n байт и size возвращает n, а не 1000. Знаю, что можно самому написать, но не хочу плодить велосипедов.
>>1125993 и как это написать? template<typename T template<typename В>> void Info_vec(const Т<В>& container)
>>1125995 >Хули ты там передаёшь в него? Контейнер с векторами? да, на примере вектора, но мне нужна функция, которая будет выводить любой последовательный контейнер на печать, то есть и вектор и список и аррей и дек
Блять, как же меня заебали шаблоны и библиотека STL, какой же это кусок дерьма,
вот у меня выскочила ошибка 'vector': undeclared identifier сначала на одной функции с шаблоном, хоть на то не было ни одной объективной причины, я везде включил #include <vector>
потом я вынес все функции в отдельный .h, создал новый пустой проект и загрузил теда заново все исходники и хедеры,
но та же самая ошибка сработала уже на другой функции
>>1126008 >и как это написать Ты уже написал, поздравляю тебя. Со всеми остальными вопросами - к преподу и в гугл. >да, на примере вектора, Отлично, теперь напиши operator<< для вектора. Ты думал, что от того, что ты напишешь cout<<vector у твоего вектора появится operator<<? >напишите хоть кто-нибудь хоть строчку кода (( Препода еби. >>1126028 Скатертью дорога, нам конкуренция не нужна.
Ребята, помогити, я тут QT скачал, нужно вкатиться в него на сисях (который инкремент). Но что то не так пошло... Скачал@с оффффициального сайта@МАКСИМАЛЬНО оффффициального из официальных сайтов@...Сайтов QT@Установил@Максимально установил@везде комплекты ставил, даже на ёкарный бабай Ведро@ну просто на ВСЕ галочки при выборе довнлоадинга нажал@началась установка@прошло пол дня, но ни хуя@при самой лёгкой сонсольной программы на вывод приведа МЕДВЕДА, компилироваться компилируется, но нажимая кнопку запуск, никакая сонсоль не появляется@пробовал много раз@даже другие компиляторы@помогите пжлс, сдавать скоро, а я нихуя не сделал
>>1125359 Да, стоял дебаг. Но я поменял на Релиз и вес конечной программы почти не изменился - стал 2,5 вместо 2,6 мегабайт.
Зато появилась странная хуйня - в режиме релиза программа стала работать неправильно - игра выдает ничью после первого хода. Это что за нахуй и почему?
>>1126198 > Но я поменял на Релиз и вес конечной программы почти не изменился - стал 2,5 вместо 2,6 мегабайт. Скорее всего, виновата статическая линковка. Хотя я диванный, но у меня хелловорлд с ней весит 2 Мб, а без нее десятки Кб, не помню точно. >Зато появилась странная хуйня - в режиме релиза программа стала работать неправильно - игра выдает ничью после первого хода. Это что за нахуй и почему? Хуй знает, что ты там наговнокодил, но на скрине явно не крестики-нолики, либо я что-то не понимаю.
>>1126133 Конкретный код в студию или иди нахуй. >>1126173 Ты ещё про индексирование этого кэша и поиск в нём забыл. Простые насколько? Твой вопрос порождает больше вопросов, чем ответов. >>1126177 Вывод ошибок из нижних панелек в студию. >>1126198 Это UB, он изнасилует и убьёт твою мать.
>>1126209 >Скорее всего, виновата статическая линковка. Что это такое и как ее убрать? >Хуй знает, что ты там наговнокодил, но на скрине явно не крестики-нолики, либо я что-то не понимаю. Используй воображение. 9 - это ходы игрока, 8 - ходы компьютера. И экзешник в режиме дебага работает как надо, а в режиме релиза - нихуя не работает как надо. Из-за чего так?
>>1126213 >Это UB, он изнасилует и убьёт твою мать. Что такое UB и что с ним не так?
>>1126214 >Что это такое Гугл >как ее убрать? Хз, чем ты компилируешь, если minwg, то она по умолчанию выключена, а включается "-static". Но скажи нахуя? Тебе жалко ссаные 2 Мб? Все равно придется вместе с программой тащить либы типа libstdc++.dll.
>>1126216 >И причем тут мой код, если он в режиме дебага работает как надо? Правильный код работает одинаково. Можешь попробовать доказать ошибку в компиляторе, но ты не сможешь. 400 строк говнокода? Можешь не постить, я всё равно читать не буду.
>>1126223 >400 строк говнокода? Можешь не постить, я всё равно читать не буду.
А нахуя тогда просил, раз читать не собирался? Я С++ изучаю по книжке пару дней, это моя первая программа, которая делает что-то нормальное и посложнее хэловорлда.
>>1126222 Хм, я Codelite'ом не пользовался, а только CodeBlock'ом, но подозреваю, что в нем такая же хрень: MinGW, который идет в комплекте, по умолчанию, линкует статически, как отключить это, я не знаю, я просто поменял сам компилятор, т.е. скачал с офсайта MinGW отдельно.
Ко-ко-ко не работает программа. Анон памаги.Аноним25/01/18 Чтв 20:11:27#369№1126253
>>1126226 Ты обознался, я не просил. Могу тебе посоветовать лучше структурировать свою программу (сделать больше маленьких функций, правильность которых ты можешь проверить). Отлаживать релизный код дебуггером будет сложно, лучше всего делать это с помощью вывода текста в stderr и перенаправлять его в файл (если в stdout не хочешь выводить). Могу провести с тобой сеанс отладки за деньги, вместе доведём твою лапшу до читаемого и проверяемого состояния. >>1126229 В твоём логе компиляции нет, для проверки настроек компилятора он бесполезен. Удаляешь экзешник, компилируешь - можешь постить лог заново. >>1126253 Функции не возвращают массивы с квадратными скобками. std::array - твой бро. >>1126259 Рад за тебя. Во всех программах, которые ты будешь использовать в разработке, есть вывод ошибок. Когда ты дёргаешь таких добрых людей, как мы, пошевели мозгами и найди вывод ошибок в интерфейсе или найди, как его включить.
>>1126285 Ну, вообще охуеть, у тебя даже оптимизация выключена. Ищешь свойства проекта, ищешь опции/аргументы компилятора, дописываешь туда: -shared-libgcc -shared-libstdc++ -Os И у тебя будут маленькие экзешники.
>>1126298 К чему ты это сказал? В дебагге программа ВСЕГДА работает как положено и на все ходы. В релизе же она выдает ничью сразу же на первом ходе, что даже физически невозможно.
>>1126316 в общем, теперь как то помучался, погуглил, теперь другая проблема. файл .pro он не правильно воспринимает, и не добавляет .cpp пока делаю на тыртернетах, так что можете не отвечать
>>1126402 Вопрос в тему. Есть такой код (Дьюхерст, Священные знания с++): class X { public: X operator %( const X & ) const; // бинарный оператор нахождения модуля X memFunc1( const X & ); void memFunc2(); //... };
X operator %( const X &, int ); // оператор-нечлен //... void X::memFunc2() { this % 12; // вызывает оператор-нечлен } operator %( this, 12 ); // ошибка! слишком много аргументов
Дальше он пишет: >Для вызова инфиксного оператора компилятор рассмотрит обе функции, и член и нечлен (см. также тему 25 «Поиск, зависимый от типов аргументов»). Таким образом, первый инфиксный вызов operator % будет соответствовать нечлену. Это не экземпляр перегрузки, просто компилятор проводит поиск функций в двух разных местах. Далее неинфиксный вызов подчиняется стандартным правилам поиска функций и выявляет функцию член.
Вот этот нюанс "инфиксные операторы - так, обычные - этак" - его тоже только запоминать или можно как-то (при случае) объяснить, зная "механику" языка?
>>1126425 Скажу максимально честно, я программирую за деньги на С++ больше трех лет, сменил несколько работ, и такой хуйни, как перегрузка одного и того же оператора вне и внутри класса - не видел ниразу. И никогда, надеюсь, не увижу
>>1126309 Проверь инициализацию переменных. Может быть такое что ты где-то читаешь неинициализованую переменную. При этом в дебаг версии она всегда попадает в (к примеру) заполненую нулями память. А в релиз версии нет.
Ребят подскажите как решать это, нихера не могу понять С меня что нить, нужно хотя бы мат аппарат под это дело заточить, а я уже третий день голову ломаю и нихера сообразить не могу. Кубик, грани которого помечены цифрами от 1 до 6, бросают N раз. Найти вероятность того, что сумма выпавших чисел будет равна Q. Ограничения: 1 <= N <= 500, 1 <= Q <= 3000. Входные данные В первой строке находятся числа N и Q через пробел. Выходные данные
Вероятность того, что сумма выпавших чисел будет равна Q.
Примеры
Входные данные 1 1 Выходные данные 1.66666666666667E-0001 Входные данные 2 2 Выходные данные 2.77777777777778E-0002
>>1126518 Но игровое поле и есть нули. Когда рисуется поле - вся матрица забивается нулями. Так что каким хуем выполняется условие проверки ничьи, где все поля! =0 - я хуй знает.
ВЕДЬ ТАКОЕ ДЕРЬМО, КОТОРОЕ НЕ МОЖЕТ НИ В ГУГЛ, НИ В КНИГИ, НИ В ОДНОГРУППНИКОВ ЛЕЗЕТ В ПРОФЕССИЮ, ДЛЯ КОТОРОЙ ОНИ СЛИШКОМ ТУПЫ И ЛЕНИВЫ, А ВАМ ПОТОМ С НИМИ РАБОТАТЬ, ОСТАНОВИТЕСЬ
Сап, тут в соседнем треде кидали ссылку с динамикой % употребления кода не помню, как они ее считали на разных языках. У С++ употребление уменьшается с 2005. Из каких "ниш" его вытеснили другие языки?
>>1126213 >Простые насколько? Твой вопрос порождает больше вопросов, чем ответов. Например перевод строкового hex-байта ("1F") в uint8. Можно их все замапить и читать из массива, либо же каждый раз делать несколько простых вычислений.
>>1126732 Зависит от частоты использования, от размера таблицы, от сложности вычислений. Вычисления могут быть сложными относительно размера входных даных. Ответ на твой вопрос: >Правильно ли я понимаю, что кэшировать простые вычисления нет смысла, т.к. чтение из памяти может быть намного медленнее, чем пара циклов процессора? Нет, ты понял неправильно.
>>1126748 Есть протоколы, где нулевой байт означает конец данных. Если тебе надо передать строку с нулевыми байтами, запрос просто обрежется после первого нуля.
>>1126764 Ну почему же, если я точно знаю, что вычисление займет 3 цикла, а чтение из памяти - как минимум 10, можно быть уверенным, что кэширование бесполезно.
>>1126900 Попробуй, для начала, в глазки не долбиться, тебе ответили уже. >>1126962 >Ну почему же, если я точно знаю, что вычисление займет 3 цикла, а чтение из памяти - как минимум 10, можно быть уверенным, что кэширование бесполезно Я это и имел ввиду, написав сообщение, на которое ты отвечаешь. Если ты такой умный и всё знаешь, зачем спрашивал?
>>1126979 >Я это и имел ввиду, написав сообщение, на которое ты отвечаешь. Если ты такой умный и всё знаешь, зачем спрашивал? Вообще я ожидал какого-нибудь интересного ответа, например, можно ли заставить прогу хранить эти данные в L1-кэше, чтение из которого - 2-3 цикла, что явно лучше любых вычислений, либо что этого нельзя гарантировать и я прав.
>>1127006 Можно попробовать механическим путем разорвать контакт на пластинке полупроводника процессора, тем самым приведя его кэш 3 уровня в нерабочее состояние. При обращении к нему, процессор будет обнаруживать кэш-промахи, и, таким образом, будет использоваться только кэш первого уровня, что тебе и нужно. Можешь спасибо не говорить, и не показывай это производителям процессоров, они поставят тебя на посмешище, потому что им нужно впаривать кэш третьего уровня всяким лохам, чтобы грести с них бабло.
Я так понел, что для гарантии расположения полей объекта в памяти точно так, как пользователь указал, надо, чтобы объект был POD. А если не POD, там расположение полей может меняться только от компилятора к компилятору или же даже в (конкретной) работающей программе у нескольких объектов одного класса расположение полей в памяти может быть разным?
>>1126643 Я уже разобрался. Проблема была в том, что я в начале обьявил переменную draw, но значения ей не указал. Из-за этого и получалась ничья на каждом ходу
>>1127187 >Я так понел, что для гарантии расположения полей объекта в памяти точно так, как пользователь указал, надо, чтобы объект был POD. Нэт. POD - это отсутствие конструктора/деструктора/оператора присвоения копии/оператора присвоения перемещением/конструктора перемещения (rule of zero). То, о чём ты спрашиваешь, это: http://eel.is/c++draft/basic.types#def:layout-compatible И в частности это: http://en.cppreference.com/w/cpp/concept/StandardLayoutType >у нескольких объектов одного класса расположение полей в памяти может быть разным? Штоблядь.
Пацаны, вот открываем мы сокет. Он один, а клиентов много. Как данные не перемешиваются, когда туда что-то записывается? И как происходит перезапись данных? Например, мы прочитали 100 байт, потом счет идет опять с нуля, а как оно в памяти хранится? На ум приходит только по кругу поинтер водить.
>>1127452 > Как данные не перемешиваются Для обычного программиста это не имеет значения. Если теб чисто для себя то читай компьютерные сети таненбаума.
>>1127452 Либо по кругу (циклическая дорожка), либо как односвязный список (сообщение, сообщение, сообщение и т.д.) А не перемешиваются они просто из-за того, что хранятся с заголовками. Там же записано кто был отправителем, длина и т.д.
Реально перекатиться в кресты после веба? Есть истории? Сам выкатился с крестов на пыху после года работы, но иногда скучаю. Да и чувствую, что было ещё что изучить, но донная работа не давала возможности.
Тут скорее вопрос более общий. Насколько силён барьер между разными сферами/языками в программировании?
>>1127558 Я щитаю, что барьер силён ровно настолько, насколько ты туп. Всякие объебосенные особенности языков ты можешь познавать долго, но вернуться в плюсы с пыхи, однажды уже писав на них, ты вполне сможешь.
Суп. Есть такой вот код: [code] String &String::operator =( const char str ) { if( !str ) str = ""; char tmp = strcpy( new char[ strlen(str)+1 ], str ); delete [] s_; s_ = tmp; return *this; } [/code] Вот это выделенное болдом присваивание указателю на const char - это тип особо оговоренная запись такой последовательности "Сделать пустую строку и сделать str указателем на неё"?
Допустим, у нас есть цикл for (size_t i = 0; i <= value; ++i). Нужно ли учесть случай, когда value равно SIZE_MAX и цикл получится бесконечным, если мы знаем, что это нереально в нашей программе?
>>1127956 Скасти value к size_t - все равно какой-то каст там будет. И скорее всего будет каст size_t к более крупному типу - и операции с ним получатся (возможно) дороже. >>1127961 Да.
>>1127969 Не просаживает, предсказатель переходов будет почти всегда правильно выбирать верную ветку. Я обычно всегда ассерты ставлю и пишу тесты, брат жив
Прошу не обоссывать, а пояснить дауничу за "магию программирования". Есть функция сериализации двусвязного списка: struct ListNode { ListNode prev; ListNode next; ListNode rand; // указатель на произвольный элемент данного списка std::string data; };
Как я понял сериализация это запись структуры обьекта скажем в фаил. Почему просто не записать всю структуру? Слишком большие затраты по ресурсам или есть что то еще?
>>1127956 Если у тебя value имеет ту же ширину, что и size_t, или меньше - ясен хер, не надо. >>1127969 Референсы - дерьмо собачье, они же висячие бывают. >>1127961 Нужно соблюдать стиль остального кода. Если у тебя никакие либы на ноль не проверяют, то лучше и в твоей тоже не проверять. Не говорю уже о том, что в своей либе лучше умные указатели использовать. >>1127980 Пиздишь. Его отключили разве что в коде ядра и только там, где лучшего решения нет, а для x86 Гугл придумал retpoline. >>1128013 >Почему просто не записать всю структуру? Если у тебя POD без указателей и ссылок - хоть конём ебись. Но это плюсы, и в классах не толко интегральные типы. Даже в Сях у тебя указатели есть, как ты их будешь восстанавливать их из файла, ёбушка?
>>1128110 Кто его обоссал-то? Я понял, что интеловцы ещё какую-то херь в линукс пушат, которую Линус обоссал, но статей о том, зачем это и почему, я ещё не видел. От Meltdown он не защищает, ясен хуй, но если ты BTB для всего кода отключишь, включая юзерспесс - тогда совсем жопа будет, поэтому из двух жоп выбрали меньшую - полная защита привилегированного адресного пространства - от BTB не зависит. >>1128129 >Чтобы это понять, тебе нужно знать две вещи - виртуальная память и ASLR. Ты знаешь, если человек не понимает, что восстановить объекты по тем же адресам он может мягко говоря не всегда, его это не спасёт.
>>1128368 Вот же препод ебанутый у тебя. Нужно таблицу с приоритетами команд искать где-то. Наверняка в его методичке или материале есть что-то. В открытом доступе тоже есть, но может у него проще это расписано.
>>1128373 Просто иди нахуй. Если препод тебя не вывез на требуемый уровень, подай на шаражку в суд. >>1128368 Могу только сказать тебе, что препод твой гондон, и там в последней строчке ошибка, поэтому такая программа просто не соберётся. >>1128398 Понятнее не стало. Если ты хотел объяснить, надо было использовать дополнительные временные значения.
Анон, как отловить косяк в коде? Есть одна программа. В ней есть несколько тредов. Один тред должен заниматься сохранением и переносом данных. Я дошёл до момента когда необходимо перенести сохранённые файлы. Всё работает нормально, но при удалении скопированного файла всё намертво стопорится - окно программы не реагирует на клики, все потоки виснут, кнопки отладки в MVS становятся неактивными. При этом, это происходит только на удалении 6-10 файла. Если не удалять файлы, то всё работает нормально. Сначала я думал что это qfile.remove отрабатывает криво и попробовал и стандартный .remove и winapi DeleteFile, всё приводило к тому же результату. Как мне поймать ошибку?
>>1128615 1) Написанная криворукими дебилами кюпараша потоконебезопасна. 2) В написанном криворуком говнокодером высере исходный файл дергается где-то в других потоках. 3) и то и другое.
>>1128630 Это не разыменование нулевого указателя, выход за границы массива или ещё какая либо ошибка неправильной работы с памятью которую ОС и рантайм за тебя ловить будет. Это логическая ошибка, с точки зрения компуктера вполне адекватный код.
Попробуй выполнение QFile::remove оградить мютексом.
>>1128706 > Надо написать программу на лабу, сам в программирование не могу, ни слова не понимаю Естественный отбор, мать его! В течение семестра пинал хуи? Идёшь нахуй. Препод ничему не научил? Подаёшь в суд на препода.
>>1128662 >Типичные мультипоточные фокусы. Остановил все потоки кроме этого и основного в котором ничего не происходит кроме вызова этого потока. Никаких изменений в нерабочести программы
>>1128850 Перепроверил с if (QFile::copy(infile->absoluteFilePath(), "Z:/aa/" + infile->fileName())) { QFile::remove(infile->absoluteFilePath()); } Всё ещё 6 файлов! Даже спустя несколько часов и переписываний код не заработал
Чистый проект. Удалено всё ненужное. Только код переноса файлов. Перенос на свежую виртуалку с рабочей шарой Переносятся только 6 первых файлов. Если закомментировать строчку отвечающую за удаление файлов >QFile::remove(files2.front().absoluteFilePath()); то копируются все файлы. Почему?
>>1128882 Программа не крашится. Она просто перестаёт осуществлять действия и у меня блокируется возможность сделать следующий шаг в отладке. >>1128884 Всего их несколько сотен, но я пробовал и на меньших объёмах
>>1128891 Не прокатило, пик1. В связи с этим сделал пик2. Получил опять всего 6 перемещённых файлов из множества. >>1128910 Ага. И вообще в конструкторе. Но это нормально и не важно, потому что выше я делал то же самое в отдельном потоке. Просто стараюсь максимально упростить задачу. >>1128888 Винда копирует нормально. Сейчас попробую переписать через std::system("move c:\\1.txt \\\\test\\asd\\1.txt");
>>1128965 Зависит от того, с какой целью ты купил эту книгу. Если повыёбываться перед коллегами, то норм. А там может и пригодится. Если ты так вкатываться решил, то эта книга не поможет.
>>1129105 Смотря какие цели он преследует - если просто понять механику и разные приемы в рисовании графики - то вполне ок. Если же хочет разобраться в потрохах графичеких подсистем разных ОС, нахуй никому не нужных в 2к18, то конечно кутэ тут не поможет.
>>1128860 Мы дождёмся MCVE от тебя, блядь? Ты хочешь сказать, что проблемы только с сетевым хранилищем? Ты хочешь сказать, что если ты убираешь копирование в \\хуйпизда, то баг пропадает? Заставь маленький кусок своего кода работать и на пастбин пихни. Но если ты допедришь до того, чтобы сделать MCVE, ты и багрепорт в жиру Куты можешь пихнуть. >>1129105 Если атомную бомбу тебе подарили и она размножается почкованием, то почему бы и нет?>>1129082 >В голом С++ можно НЕТ.
>>1129195 >Но если ты допедришь до того, чтобы сделать MCVE, ты и багрепорт в жиру Куты можешь пихнуть. Да не бургути ты так. Я обосрался у меня что-то с системой, даже FAR не переносит нормально.
>>1128965 Что в оригинале, что в переводе, довольно много опечаток и ошибок, так что если ты ньюфаг и вообще не знаком с крестами, то будет довольно сложно, но сама по себе книга неплохая.
>>1129082 >В голом С++ Это такой реквест на Rule34? >сделать графику? А управление курсором или хотя-бы клавиптурой? Для этих потребностей используется библиотека SDL
Ответы на все вопросы:
- http://en.cppreference.com/w/
- http://www.cplusplus.com/reference/
Прошлый:
- https://2ch.hk/pr/res/1110566.html