Главная Настройка Mobile Контакты NSFW Каталог Пожертвования Купить пасскод Pics Adult Pics API Архив Реквест доски Каталог стикеров Реклама
Доски


[Ответить в тред] Ответить в тред

Check this out!


[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 504 | 37 | 147
Назад Вниз Каталог Обновить

С++ #56 Аноним 18/07/17 Втр 21:46:49  1028033  
C.png (5Кб, 550x380)
Вместо шапки - https://github.com/sosachbot/cppthreadhat/wiki
Ответы на все вопросы - http://en.cppreference.com/w/ http://www.cplusplus.com/reference/

Прошлый - https://2ch.hk/pr/res/1016662.html
Аноним 18/07/17 Втр 21:49:42  1028036
Первый.
Аноним 18/07/17 Втр 21:54:02  1028038
Будете перекатывать сл. раз - обязательно напишите про то, что братья тех, кто:
- спрашивает про ВинАПИ
- говорит "не работает" без копирования сообщения об ошибке
- спрашивает "как сделать Х", где Х никак к плюсам не относится
сдохнут от СПИДа.
Аноним 18/07/17 Втр 21:55:17  1028042
>>1028038
С этим полностью согласен. Ещё было бы хорошо, чтобы им выдавали бан на годик.
Аноним 18/07/17 Втр 21:56:42  1028044
>>1028038
> говорит "не работает" без копирования сообщения об ошибке
А если не работает не потому, что не компилируется?
Аноним 18/07/17 Втр 22:00:57  1028047
>>1028044
gcc a.c 2> /dev/null
Остальное для слабаков, да?
Аноним 18/07/17 Втр 22:06:57  1028051
>>1028044
Ой, тьфу ты, сорян.
Почти все ОС выводят хоть какое-то сообщение.
Аноним 18/07/17 Втр 22:07:24  1028052
>>1028044
Некоторые даже не пишут, где у них проблема - в рантайме, или в компайлтайме.
Аноним # OP  18/07/17 Втр 22:11:37  1028056
2017-07-18.png (23Кб, 723x655)
Объясните дебилу, почему этот код выводит 'f', когда по идее должен вывести адрес?
Аноним 18/07/17 Втр 22:17:15  1028064
>>1028056
Потому что char ЗВЁЗДОЧКА - это строки. Тебе ещё повезло, что он выводит f - может вывести все ненулевые символы, которые в стеке после f.
Если хочешь адрес, приведи к void ЗВЁЗДОЧКА.
Аноним 18/07/17 Втр 22:17:56  1028065
>>1028056
Толсто.
Аноним 18/07/17 Втр 22:57:13  1028091
>>1028082
Из крестов всегда можно перекатиться в веб за полгода, особенно если уже знаешь алгоритмы и структуры данных.
Аноним 18/07/17 Втр 23:42:08  1028123
>>1028064
>>1028056
На самом деле потому, что у std::cout оператор << перегружен для поинтера, и автоматически разыменовывает и выводит данные.
Аноним # OP  19/07/17 Срд 00:25:24  1028140
Screenshot2017-[...].png (145Кб, 1080x1920)
>>1028123
Тогда почему здесь не разыменовался?
Аноним 19/07/17 Срд 00:44:21  1028147
>>1028140
Потому что operator << ostream& o не определен для int*, инстанцируется специализация шаблона для указателей (или просто T, хуй знает, никогда не интересовался что там внутри).
Аноним 19/07/17 Срд 07:11:36  1028198
>>1028056
>>1028140
В первом случае вызывается второй оператор отюсдова http://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt2
Во втором — седьмой отсюдова http://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt
Аноним 19/07/17 Срд 09:37:19  1028225
http://boost.2283326.n4.nabble.com/CMake-Announcement-from-Boost-Steering-Committee-tt4696934.html
Поздравляю, ананасы. Не прошло и 20 лет как экосистема плюсов начала объединяться. Наконец-то буст можно будет собирать и подключать без ебли даже на винде.
Аноним 19/07/17 Срд 12:51:59  1028297
Какую автоматическую систему сборки лучше удобнее использовать для проекта на крестах? Есть прожект в кодеблоксе, но я его хочу сделать удобным для сборки на других пк.
Аноним 19/07/17 Срд 12:54:11  1028298
>>1028297
CMake
Аноним 19/07/17 Срд 13:28:14  1028305
>>1028225
Уважаемым спермогосподам хозяева подарили облегчалку анальных болей. Мои искренние поздравления.
Аноним 19/07/17 Срд 14:08:37  1028315
>>1028305
У спермогоспод есть VS с отличным отладчиком, а что есть у тебя?
Аноним 19/07/17 Срд 16:13:42  1028365
>>1028315
У меня майки в cmake устаревший findboost положили, в результате он не правильные постфиксы пытался найти.
Было это пару месяцев назад VS2017, boost 1_64

Такое себе быть спермогосподином.
Аноним 19/07/17 Срд 17:10:31  1028387
>>1028315
>У спермогоспод есть VS с отличным отладчиком, а что есть у тебя?
Анальная девственность.
Аноним 19/07/17 Срд 17:22:03  1028394
>>1028123
Дело не в "перегрузке для поинтера", а в перегрузке для C-строк.
Аноним # OP  19/07/17 Срд 17:23:16  1028395
>>1028387
Я бы продал анальную девственность за хорошие инструменты.
Аноним 19/07/17 Срд 17:32:59  1028398
В каком стандарте появились листы через фигурные { } скобки?
Аноним # OP  19/07/17 Срд 17:34:47  1028400
>>1028398
Еще в С95 (AMD1) появились
Аноним 19/07/17 Срд 17:35:37  1028402
>>1028398
Сам я знаю только часть языка по стандарту 2003 года, но сейчас надо понять что делает говнокод написанный по новому стандарту.
Аноним 19/07/17 Срд 17:45:26  1028405
>>1028315
А у нас есть прекрасный Clion, в котором есть все что есть в студии кроме профайлера, только еще с нормальным редактором текста, и без прибитых к полу деревянных игрушек.
Аноним # OP  19/07/17 Срд 17:46:13  1028407
>>1028405
>Clion
Он же тормозит как дрисня
Аноним 19/07/17 Срд 17:46:39  1028409
>>1028407
Дрисня как раз быстрая.
Аноним 19/07/17 Срд 18:01:04  1028419
>>1028407
ШпермоСтудия как раз куда тормознее.
Аноним 19/07/17 Срд 18:03:02  1028421
>>1028419
>ШпермоСтудия как раз куда тормознее.
Последние версии стали быстрые на самом деле нет .
Аноним 19/07/17 Срд 18:05:27  1028422
>>1028421
Последние 7 лет штудия от релиза к релизу только деградировала по производительности. Ладно, 7 это я, к конечно загнул, но до 17-й это совсем кромешный пиздец был.
Аноним 19/07/17 Срд 18:07:45  1028424
>>1028422
Хуй знает, у меня VS работает достаточно быстро на моем не очень мощном ноутбуке с HDD.
Аноним 19/07/17 Срд 18:12:51  1028427
>>1028400
initializer_list и aggregate initialization - разные вещи.
>>1028398
В 11, вроде.
Аноним 19/07/17 Срд 18:13:15  1028428
>2017
>сидеть на VS вместо Сlion
не секрет, что диды плохо адаптируются к новым вещам. перемены вызывают у них дискомфорт и страх
Аноним 19/07/17 Срд 18:17:15  1028429
>>1028424
> не очень мощном ноутбуке с HDD.
Твой HDD влияет только время стартапа. Когда начинаются свопы (или просто 100% нагрузка на цпу анализатором кода) никакой SSD не спасает.
Аноним 19/07/17 Срд 18:20:06  1028432
>>1028429
У меня i7-3630QM и все летает
Аноним 19/07/17 Срд 18:21:46  1028433
>>1028432
Хэловорды где угодно летают.
Аноним 19/07/17 Срд 18:23:33  1028435
>>1028433
>Хэловорды где угодно летают.
Как раз в Clion не летают.
Там редактор кода очень сильно лагает на моей HD4000
Аноним 19/07/17 Срд 18:28:00  1028437
>>1028435
>редактор кода очень сильно лагает на моей HD4000
совсем ебанулся?
Аноним 19/07/17 Срд 18:32:19  1028438
>>1028437
Что не так?
Выделение кода сильно лагает, под мою видеокарту плохо оптимизировали
Аноним 19/07/17 Срд 18:36:47  1028440
>>1028438
Чото я в голосину орнул.
мимо-сижу-на-встроенных-видюхах-5-лет-и-нихуя-не-лагает
Аноним 19/07/17 Срд 18:50:12  1028447
>>1028440
Она просто старая у меня да еще и мобильная
Аноним 19/07/17 Срд 18:54:12  1028450
Java не тормозит. Теперь и в крестотреде! Не переключайтесь!
Аноним 19/07/17 Срд 19:05:14  1028455
>>1028438
Я даже не хочу знать, тролль ты или нет. Просто съебись.
Аноним 19/07/17 Срд 19:57:39  1028475
Безымянный.png (48Кб, 1640x768)
Безымянный1.png (495Кб, 476x610)
На чистых сях (gcc с пакета MinGW) собирается без проблем с двумя хэдерами. Почему на плюсах необходимо не инклюдить gl.h? В ином случае пишет что некоторые функции не определены.
Аноним 19/07/17 Срд 20:03:53  1028477
>>1028475
Я всё понял, ребята. Я еблан и заинклудил то, чего в примере не было (он не из книги).
Аноним 19/07/17 Срд 20:12:01  1028480
Насколько сложно крестовику перекатиться забугор?
Или вебмакакой легче?
Аноним 19/07/17 Срд 20:52:42  1028495
>>1028480
Нам-то откуда знать?
Аноним 19/07/17 Срд 21:00:59  1028501
>>1028495
Может кто пытался перекатываться/перекатился
Аноним 19/07/17 Срд 21:09:35  1028504
>>1028501
не, тут только борщи сидят, почитай тред
Аноним 19/07/17 Срд 21:17:06  1028505
>>1028225
ты само обсуждение читал, лупоглазый? во-первых, там только поднимается вопрос, как к концу года сделать план по переходу на cmake, а не перейти на него. во-вторых, сообщество, скорее всего, пошлёт тот комитет найух.
Аноним 19/07/17 Срд 22:42:56  1028540
>>1028505
Сообщество стопроцентно против не будет — сплошные плюсы же.
Аноним 19/07/17 Срд 23:16:18  1028561
>>1028298
Можешь годных гайдов подсказать?
Аноним 19/07/17 Срд 23:34:55  1028572
>>1028225
>буст
нахуй он нужен?
Аноним 20/07/17 Чтв 00:14:01  1028585
>>1028572
Нахуй ты нужен?
Наверно потому что это главный плюсовый фреймворк.
Аноним 20/07/17 Чтв 00:18:02  1028588
>>1028585
Это не фреймворк, это большая коллекция разнообразных библиотек.
Аноним 20/07/17 Чтв 00:32:58  1028600
>>1028588
Индус блять, куте тоже куча разных библиотек, иии?
Аноним 20/07/17 Чтв 01:27:49  1028615
>>1028600
куте виджет фремворк, а буст сборище какийто нинужной хуеты. че правда смузихлебы для тогоже хэша или ололосортировки прикручивают целый буст?
Аноним 20/07/17 Чтв 09:48:41  1028679
>>1028600
Куты - большая коллекция разных библиотек, использование которых предусматривает использование остальных библиотек, поэтому Куты - фреймворк.
Аноним 20/07/17 Чтв 09:49:59  1028681
>>1028615
Куте виджет фреймворк. Ясно.
Борщехлёб ничего в жизни не писал на крестах и спрашивает зачем языку у которого в стандартной библиотеке есть хуй с кривыми строками нужен буст.
Аноним 20/07/17 Чтв 09:53:04  1028682
>>1028679
В бусте всю его дженерик часть тоже легко использовать вместе.
Ладно, скажем так — буст это то, какой должна быть стандартная библиотека у плюсов, чтобы на них можно было написать что-то большее чем сортировочку.
Аноним 20/07/17 Чтв 10:06:01  1028683
Ололо. Индусы не знают, как отличить фреймворк от не-фреймворка.
Аноним 20/07/17 Чтв 10:19:01  1028688
>>1028683
>борщехлеб порвался
Аноним 20/07/17 Чтв 10:21:42  1028689
>>1028688
Так зашивайся скорее.
Аноним 20/07/17 Чтв 10:33:14  1028693
>>1028689
>жяваиндус так горит что не может сагу отцепить)
Аноним 20/07/17 Чтв 10:36:20  1028696
>>1028428
Сидеть на джавапараше, которая не может распарсить сложные тимплиты вместо богоподобной студии?
Аноним 20/07/17 Чтв 10:49:44  1028698
>>1028696
Студия, которая как в прошлом треде уже доказали, не поддерживает до конца 98-й стандарт, видимо, распарит их.
Аноним 20/07/17 Чтв 11:02:14  1028703
>>1028698
Не поддерживает какую-то юзлесс хуиту никем не используемую, да?
Аноним 20/07/17 Чтв 11:37:02  1028711
>>1028703
>никем не используемую
Ололо. Поэтому у них исправление two-phase name lookup стоит на втором месте по важности после поддержки expressions SFINAE (которое уже запилили).
https://www.reddit.com/r/cpp/comments/3g3aa1/what_do_you_want_to_see_in_vs_2015_update_1/ctukcl4/
https://blogs.msdn.microsoft.com/vcblog/2016/06/07/expression-sfinae-improvements-in-vs-2015-update-3/
Аноним 20/07/17 Чтв 11:40:06  1028714
>>1028711
Ещё про поломанный препроцессор и two-phase lookup https://blog.jetbrains.com/rscpp/microsoft-cpp-compiler-bugs-ambiguities/
Аноним 20/07/17 Чтв 11:45:45  1028720
>>1028711
Скорее, все на это клали хуй, и все без этого и так работает без проблем, включая трехэтажное говно из буста
Аноним 20/07/17 Чтв 12:35:21  1028742
>>1028703
и после того как они в бинарники телеметрию свою записывали ты все еще пользуешься разработками от MS? Удивительно сколько человек говна готов сожрать лишь бы оставаться в своей комфортной коробочке.
Аноним 20/07/17 Чтв 13:28:12  1028759
>>1028711
>>1028714
Почему эти дурики не могут сделать переключатель диалектов, чтобы таки можно было включить стандартное поведение? У ГЦЦ есть же диалект gnu++, почему МС так не может?
Аноним 20/07/17 Чтв 13:38:28  1028762
>>1028742
ты читал, что там была за телеметрия вообще? Или увидел слово и сразу истерить? Так вот, это было сделано только для эвентвьювера виндового, и все.

>>1028759
есть такой свитч в 17ой версии.
Аноним 20/07/17 Чтв 13:46:20  1028764
>>1028762
>Так вот, это было сделано...
мне до пизды для чего это было сделано:) очередная попытка damage control от индусятников
Аноним 20/07/17 Чтв 14:21:54  1028782
>>1028720
Тебе-то, тупому борщехлёбу с дивана, конечно лучше всех знать, что буст работает без проблем просто так, а не потому, что определяет для MSVC макру BOOST_NO_TWO_PHASE_NAME_LOOKUP и обходит костылями поведение этого недокомпилятора.

>>1028759
>Почему эти дурики не могут сделать переключатель диалектов, чтобы таки можно было включить стандартное поведение?
Потому что написали убогий парсер 30 лет назад и пока бабки текли рекой и никто не задавал много вопросов "почему соответствующий стандарту код ведёт себя у вас как-то странно", его не трогали.
Аноним 20/07/17 Чтв 14:23:54  1028786
>>1028762
>есть такой свитч в 17ой версии
Он только отключает нестандартные расширения, типа байндинга неконстантных lvalue-ссылок к временным объектам или передачи строковых литералов по указателю на char (без const). Two-phase name lookup никаким ключом не включается, т.к. там нужно серьёзно лечить парсер.
Аноним 20/07/17 Чтв 14:26:11  1028788
>>1028786
Хотя, нагугливается, что у них с месяц-два назад появился ключ /Zc:twoPhase[-]
Аноним 20/07/17 Чтв 14:33:44  1028791
>>1028782
Почему ты такой злобный, сажееб?
Аноним 20/07/17 Чтв 14:36:03  1028793
>>1028791
Почему ты такой тупой, борщехлёб?
Аноним 20/07/17 Чтв 14:44:18  1028797
>>1028793
Как тебя коллеги терпят на работе?
Аноним 20/07/17 Чтв 14:45:35  1028798
>>1028797
Не беспокойся, я с тупыми не работаю.
Аноним 20/07/17 Чтв 14:46:51  1028801
>>1028798
Я думаю, что ты такой злой только в интернетах, а в реале ты забитый омеженька. Хороший и умный специалист не будет разводить такую злобу на АИБ.
Аноним 20/07/17 Чтв 14:47:43  1028803
>>1028801
>Я думаю
Не пизди, ты не умеешь.
Аноним 20/07/17 Чтв 14:53:06  1028808
>>1028803
Судя по всему, я попал в точку.
Аноним 20/07/17 Чтв 14:54:56  1028811
>>1028808
Думай что хочешь, борщехлёб.
Аноним 20/07/17 Чтв 17:04:33  1028871
>Лето в /pr/
Аноним 20/07/17 Чтв 17:30:29  1028889
>>1028682
лучше было бы чтобы на плюсах вообще не было стандартной библиотеки
и буста не было бы
а юзали бы алгоритмы и структуры, предлагаемые ядром конкретного фреймворка qt, gtk, mfc, atl..
тогда весь код был бы написан в единообразной манере (и не только сам с собой, но и с кодом фреймворка, который он использует)
Аноним 20/07/17 Чтв 17:32:59  1028891
крашык.png (24Кб, 660x308)
Привет.

Проблема с выводом PWSTR
Выводит непонятную дичь вместо имени процесса.
Прим. на пике (Process name: 004B3FD8 | ...)

Х3 как выводить ЭТО.

1.Касты крашат.
2.<code>std::wcout</code> и прочее крашит.

https://pastebin.com/5ZswuCBC
Аноним 20/07/17 Чтв 17:47:19  1028897
>>1028891
wcout на винде не выводит то, что непредставимо чаром. Гугли, в четвёртый раз эта ебалайка уже.
Аноним 20/07/17 Чтв 17:49:01  1028898
>>1028891
И вообще, смотри третье сообщение треда.
Аноним 20/07/17 Чтв 17:52:06  1028900
>>1028898
Бтв, а за что тут хейтят ВинАПИ?
Аноним 20/07/17 Чтв 18:44:04  1028925
>>1028900
За не переносимость софта использующего WinAPI на другие платформы. Нефига на ровном месте vendor-lock устраивать.
Аноним 20/07/17 Чтв 18:56:53  1028930
>>1028900
За то, что это не WinAPI-тред.
Аноним 20/07/17 Чтв 19:18:43  1028940
>>1028925
Ты так говоришь, как будто посих переносим. Никому не нужна твоя программа, если ты привык ограничиваться стл и бутсами.
Аноним 20/07/17 Чтв 19:20:12  1028941
>>1028940
СТЛ и буст - это не посикс, лалка. Ты можешь спрашивать про что угодно, но будешь обоссан, так как мы тут обсуждаем КРЕСТЫ.
Аноним 20/07/17 Чтв 19:20:43  1028942
>>1028940
>Ты так говоришь, как будто посих переносим.
Ты знаешь, что значит первая буква в аббревиатуре POSIX?
Аноним 20/07/17 Чтв 21:11:08  1028981
>>1028942
Portable между сортами прыщеблядского говна, да
Аноним 20/07/17 Чтв 21:17:26  1028985
>>1028981
Часть POSIX была/есть в винде. Упс!
https://en.wikipedia.org/wiki/Microsoft_POSIX_subsystem
Аноним 20/07/17 Чтв 21:17:47  1028986
>>1028198
Получается, у char нету вывода адресов и нужно привести указатель на char к типу указателя на void чтобы сработал метод класса ostream №7 из вот отсюда?
http://en.cppreference.com/w/cpp/io/basic_ostream/operator_ltlt

я понимаю, что всего лишь повторяю твои слова, но мне важно разобраться до конца.
Не ОП.
Аноним 20/07/17 Чтв 21:19:08  1028988
>>1028986
>нужно привести указатель на char к типу указателя на void чтобы сработал метод класса ostream №7 из вот отсюда?
Да.
Аноним 20/07/17 Чтв 21:19:08  1028989
>>1028033 (OP)
Посоветуйте лучшую ORM для SQLite.
Аноним 20/07/17 Чтв 21:19:41  1028990
>>1028985
Она никогда нормально не работала, и была сделана исключительно для какой-то йоба сертификации в америке ровно настолько, чтобы пройти эту сертификацию. И потом ее нахуй выпилили.
Аноним 20/07/17 Чтв 21:39:01  1029001
>>1028940
POSIX принят как стандарт и работает вообще везде — от линуксов до маков с прочими бздями.

Но сперма дауном мало кривой фс и реестра, и кучей говнища которое тянется еще из доса, они тут сидят выебываются что у них компилятор нормально работает (при том что под ним даже буст, который пишется на самых канонических стандартах, не собирается без допилки костылями коими козыряли выше (привет Borland c++)).
Аноним 20/07/17 Чтв 21:51:20  1029008
>>1028988
Спасибо
Аноним 20/07/17 Чтв 22:03:13  1029018
>>1028990
бла бла бла
а на деле это была разработка сторонеей фирмы, потом ее прикупила майкрософт
и да, на судя по формумам где сотни тысяч сообщений, она таки активно юзалась
блядь, нахуя ультимативно писать о том, в чем не разбираешься?
Аноним 20/07/17 Чтв 23:12:49  1029054
>>1029018
>и да, на судя по формумам где сотни тысяч сообщений, она таки активно юзалась
ну-ка?
Аноним 21/07/17 Птн 10:02:20  1029152
Какой будет оверхед по скорости, если кидать массивы туда-сюда по 100 мб через C pipes против разделяемой памяти и Boost.Interprocess?
Аноним 21/07/17 Птн 10:31:53  1029174

>>1029152
А вот хуй знает. Точно известно только то, что при использовании пайпов придётся на каждую передачу делать по несколько сисколлов и аллоцировать сам массив по 2 раза.

Точнее тебе скажут бенчмарки, если тебе не лень.
Аноним 21/07/17 Птн 13:17:32  1029217
>>1029152
Напрогай и попробуй. Самый простой вариант - запустить
$ cat /dev/zero | wc -c
и посмотреть IO в iotop или в /proc/ . На винде сложнее. Оверхед зависит от воплощения.
>C pipes
Это POSIX, если что.
Аноним 21/07/17 Птн 18:03:30  1029358
>>1028989
Я хуй знает как насчет этих говнореализаций маппингов сущностей БД к объектам крестов с использованием макросов относиться (вроде бы это и отвратительно, стоит лишь посмотреть на то, как делаются всякие кастомные классы дескрипторов для COM, но с другой стороны у языка никаких средств для организации статической рефлексии нет), так что я бы предложил использовать внешний парсер для описания сущностей на нейтральном языке, который бы сам генерировал и запросы и исходный код, наподобие protobuf.
Если проект будет долго жить и весьма серьезный, вполне имеет смысл написать собственный такой пре-процессор.
Аноним 21/07/17 Птн 18:16:42  1029370
>>1029217
>> Это POSIX, если что.
Вроде же в winapi есть свои пайпы, только они там какие-то ебанутые. Я как-то решил попробовать две программулины скрестить при помощи их пайпа, но в итоге говна объелся. Меня люто бомбануло с их LPOVERLAPPED, TCHAR, и прочей поебистики, ну и еще то что это не тот пайп, который я ожидал получить из никсов.
Аноним 21/07/17 Птн 21:00:54  1029452
Анон, сейчас начал разбираться с тредами и не совсем понимаю.

Есть три класса
Первый класс - основной, содержит в себе основную программу.
В нём, по событию, запускается исполняемая функция из третьего класса и всё работает отлично.
Но, кроме этого события в первом классе создается объект из второго класса, который, в свою очередь создает тред, в котором происходят события, которые запускают функцию из третьего класса и всё, пизда. Причём не работает не весь код третьего класса, а только его часть, связанная с библиотекой. Собственно не стартует CApplication

Как это починить?
Сам код, ниже.

class first
#include "CApplication.h"
...
#include "third.h"
#include "second.h"
...
void first::OnBnClickedCheck()
{
...
third myTimer.stop();
myTimer.start(5);

second::checkIt();
...
}


class second
#pragma once
#include "CApplication.h"
...
#include "first.h"
...
bool checkIt::OnBnClickedCheck()
{
...
CApplication app; // Start Excel and get an Application object.
if (!app.CreateDispatch(TEXT("Excel.Application")))
{
AfxMessageBox(TEXT("Couldn't start Excel and get Application object."));
}
...
}


class third
#pragma once
#include "CApplication.h"
...
#include "first.h"
...
void timer()
{
...
second::checkIt();
...
}
void third::start(int sec)
{
std::thread th1(timer, this, sec);
th1.detach();
}

Аноним 21/07/17 Птн 21:05:18  1029455
>>1029452
В первом классе неправильно скопипастил

void first::OnBnClickedCheck()
{
...
third myTimer;
myTimer.start(5);

second::checkIt();
...
}
Аноним 21/07/17 Птн 21:28:25  1029462
>>1029452
Эту неформатированную хуйню никто читать не будет
Аноним 21/07/17 Птн 21:35:32  1029465
>>1029462
Сорри.
Вот корректно отформатированный код https://pastebin.com/hcPzckH0
Аноним 21/07/17 Птн 21:38:45  1029466
asdgasdg.png (55Кб, 836x1356)
>>1029465
И картинка, для тех кому лень идти по ссылке.
Аноним 21/07/17 Птн 21:40:53  1029467
>>1029466
>>1029465
И я проебался опять, спать хочется кошмарно.
Конечно же не
class second
bool checkIt::OnBnClickedCheck()

А
class second
bool checkIt()
Аноним 21/07/17 Птн 22:10:45  1029477
>>1028989
>лучшую
>ORM
Аноним 21/07/17 Птн 22:18:28  1029478
Поясните за c++ builder
Аноним 21/07/17 Птн 22:44:23  1029482
>>1029478
Это программа.
Аноним # OP  22/07/17 Суб 00:14:45  1029524
>>1029478
Лучшая IDE своего времени (до выхода Visual Studio 6)
Аноним 22/07/17 Суб 09:48:08  1029599
>>1029466
Бамп вопросу.
Аноним 22/07/17 Суб 10:19:31  1029608
>>1029599
Нарисуй диаграмму последовательности и тебе все ясно будет. Uml никому еще не мешал.
Аноним 22/07/17 Суб 10:39:52  1029625
цукецуке.PNG (41Кб, 1252x379)
>>1028033 (OP)
Пацаны, я знаю, я говноед и всё такое, но, пожалуйста, помогите с примером, C++ Builder, надо в dbgrid окрасить ячейку в столбце в зеленый, если ее значение == "Принят", и в красный, если == "0".
Есть вот такой код:
http://ideone.com/DIB0HP

Он работает, но окрашивает всю строку, соответственно вся таблица у меня пикрелейтед, что мне нужно добавить, чтоб окрашивал только в первом солбце? Просто ткните носом, я охуительно буду вам благодарен!
Аноним 22/07/17 Суб 10:55:09  1029627
>>1029625
>> int DataCol
Это ли, случайно, не та самая переменная, указывающая номер столбца?!
Ну и оттуда уже исходи если это так.
Аноним 22/07/17 Суб 11:00:17  1029628
пробел или табу[...].webm (9424Кб, 640x340, 00:02:17)
>>1029627
спасибо, анон.
я видел эту переменную, но сначала не вдуплял как её задействовать, тугодум с утра маленько.

Огромное спасибо, анон, всё получилось, в if доп.условие прописал.
Тонну нефти тебе
Аноним 22/07/17 Суб 11:37:04  1029641
>>1029452
>и всё, пизда.
Иди нахуй. Ты даже коды ошибок в консоль не выводишь.
Аноним 22/07/17 Суб 13:42:07  1029687
Отлично блэд, УРА! После крэша студии у меня наконец начали сыпаться осмысленные ошибки. Что же им до крэша не сыпалось то?
>>1029466 -кун
Аноним 22/07/17 Суб 14:38:36  1029709
>>1028990
>Майки делают не посикс совместимую систему
>РЯЯЯ ВАШ ПОСИХ НИГДЕ НЕ РАБОТАЕТ!!! НИПЕРЕНАСИМО
Аноним 22/07/17 Суб 15:05:39  1029715
>>1029709
>ТОЛЬКО МАЙКИ
Аноним 22/07/17 Суб 15:45:05  1029731
Анончики выручайте. Как использовать каскад Хаара в opencv под vs? Вот у меня есть xml файл https://pastebin.com/9AwMYgsn, как его в проект впихнуть?
Аноним 22/07/17 Суб 15:59:26  1029740
кросспост - вопрос к плюсобогам:
>>1029737
какой самый анальный метод проверки файла на аутентичность?
Аноним 22/07/17 Суб 16:08:19  1029742
>>1029740
>какой самый анальный метод проверки файла на аутентичность?
Я хз. Но я бы попробовал прочитать видео ффмпегом. Если читается, то значит без приписок.
С фото наверн тоже аналог есть.
Аноним 22/07/17 Суб 16:14:08  1029745
>>1029740
Если тебе нужно убрать все лишнее, то проще всего перекодировать.
Иначе нужно обрабатывать КАЖДЫЙ контейнер отдельно, и городить логику сплитинга мержинга (учитывать, что у видео может быть несколько дорожек озвучки, или субтитры, например. или теги в музыкальных форматах)
Аноним 22/07/17 Суб 16:15:41  1029746
>>1029742
>Если читается, то значит без приписок
Не факт, он вполне может пропустить все до обнаружения контейнера, обработать его содержимое, а на остаток забить.
Аноним 22/07/17 Суб 16:19:00  1029747
>>1029731
как раз в твоем вопросе и заключается твоя же работа
иди копай, сука
Аноним 22/07/17 Суб 16:22:13  1029749
>>1029747
Бля, не прокатило. Пойду капать
Аноним 22/07/17 Суб 16:43:33  1029763
>>1029745
спс
Аноним 22/07/17 Суб 16:53:37  1029765
>>1029709
им это нахуй не надо, отбитый красноглазик
Аноним 22/07/17 Суб 18:32:06  1029803
Аноны, а вы юнит тесты гоняйте?
Блять я попытался к проекту линуксовому гугл-тесты подрубить и ахуел, какого хуя Эко система плюсов такая уебищная и сложная?
Аноним 22/07/17 Суб 18:50:27  1029819
>>1029803
Ну гоняй QTest, если гугловские тебе не нравятся. Проект то в итоге от Qt зависимостей не будет иметь.
Аноним 22/07/17 Суб 18:57:43  1029824
>>1029803
А что пошло не так? Вроде уж проще чем гуглотест подрубить ничего нет.
Аноним 22/07/17 Суб 19:05:55  1029829
>>1029824
> А что пошло не так?
У него ошибка в ДНК
Аноним 22/07/17 Суб 20:09:36  1029844
>>1029829
Охуенно пиздец, когда уже делал что то, задротина ссаная.
Аноним 22/07/17 Суб 20:45:58  1029864
>>1029829
>>1029824
асислил. Стоило всего лишь загуглить.
Аноним 22/07/17 Суб 21:30:40  1029881
>>1029740
Самый анальный - только ЖПЕГ. Тебе нужно реализовать поддержку всех контейнеров, никакой общей проверки нет (но тебе не нужно поддерживать все кодеки, например).
Аноним 23/07/17 Вск 11:19:11  1030058
Бамп.
Аноним 23/07/17 Вск 11:56:50  1030068
14637248864791.png (360Кб, 699x526)
>>1030058
Аноним 23/07/17 Вск 13:22:16  1030092
Крч. В новом треде надо было писать
::CoInitialize (NULL);
>>1029466 -кун
Аноним 23/07/17 Вск 17:23:13  1030190
rageapoordebugg[...].png (126Кб, 312x272)
Два года говнокодил в НИИ, используя Qt, потом отдыхал полгода. Недавно попробовал устроиться в коммерческую контору, где дали тестовое задание перед собеседованием. Нужно было сделать за неделю многопоточную внешнюю сортировку с ограничением по выделяемой памяти, используя только STL.
В итоге обосрался. Мерж распараллелить не смог, постоянно смотрел в референсы по каждому чиху, и все это было медленно, больно, и вообще наговнокодил, хотя старался придерживаться принципов SOLID. Два раза просил перенести срок сдачи. Сдал им свой opus magnum через две недели, и уже неделю нет ответа. Пришел к выводу, что я - ебучий макак нужно больше практики.

Посоветуйте где взять задачи, решая которые можно натаскаться на решение настоящих повседневных рабочих проблем, подтянуть знание STL и повысить самооценку.
Аноним 23/07/17 Вск 17:42:43  1030195
>>1030190
> тестовое задание
> перед собеседованием
нахуя ты вообще за него взялся, лол?
Аноним 23/07/17 Вск 17:46:55  1030196
>>1030195
Хотел освежить свои навыки, полгода не кодил же. Да и не зря взялся, как оказалось.
Аноним 23/07/17 Вск 18:34:53  1030208
>>1030190
У сортировки слиянием же минимальное ограничение по памяти равняется памяти исходного массива или я что-то недопонимаю?
Аноним 23/07/17 Вск 18:47:54  1030212
>>1030208
Не в этом случае. При внешней сортировке размер сортируемого массива данных значительно больше объема доступной оперативной памяти (M), его в ней просто не уместить.
Поэтому он читается кусками размера M, сортируется как угодно и сбрасывается на внешнее хранилище отсортированными кусками. Потом эти куски читаются одновременно во входные буферы, объединяются и пишутся на место оригинального файла.
Здесь описано подробнее. https://en.wikipedia.org/wiki/External_sorting
Аноним 23/07/17 Вск 19:04:11  1030218
Анон, подскажи. Только начал изучать C++ (второй день), читаю книгу Стивена Праты, всё нравится, но никак не могу ответить на один вопрос. Смотри, тут сказано:
>"1 Байт обычно означает 8-битную порцию памяти. В этом смысле байт представляет собой
единицу измерения, которая описывает объем памяти в компьютере, причем 1 Кбайт
составляет 1024 байта, а 1 Мбайт — 1024 Кбайт. Однако в C++ байт определен по-другому.
Байт C++ состоит из минимального количества смежных битов, достаточного для того,
чтобы вместить базовый набор символов для реализации. Другими словами, количество
возможных значений должно быть равно или превышать число индивидуальных символов.
<...>
С другой стороны, в интернациональном
программировании могут использоваться намного большие наборы символов, такие как
Unicode, поэтому в некоторых реализациях могут использоваться 16-битные или даже 32-
битные байты. Для обозначения 8-битного байта иногда используется термин октет"

Я всегда думал, что байт - это байт и он всегда равен 8 битам (ну, может иногда 9), а тут выходит, в C++ под байтом понимается немного другое.
И что это вообще значит?
>минимального количества смежных битов, достаточного для того,
чтобы вместить базовый набор символов для реализации
Это символы, с помощью которых может быть записан исходный код? Ненавижу, когда в книгах ставится какой-то тезис, но потом он нигде не объясняется. Соре, если вопрос элементарный, можешь назвать идиотом, но объясни, плиз.
Аноним 23/07/17 Вск 19:05:56  1030219
>>1030218
Неудачно процитировал, книга в пдф, сори. Надеюсь, ты поймешь
085
Самофикс
Аноним 23/07/17 Вск 19:13:00  1030222
>>1030218
1 байт это 8 бит, не переживай. Исключением являются всякие ебанутые системы, которым по 40 лет.
Аноним 23/07/17 Вск 19:20:01  1030223
>>1030222
Благодарю
Аноним 23/07/17 Вск 19:52:54  1030240
>>1030218
Как-то немного странно описано. Конечно, байт — char, unsigned char, std::byte — должен вмещать символы из стандартного набора (хранятся в char) и быть как минимум 8 бит (чтобы с помощью char можно было кодировать UTF-8).
Но вообще его размер выбирается как размер минимально адресуемого куска памяти, а не из соображений кодирования базового набора символов.
Аноним 23/07/17 Вск 20:11:09  1030251
Есть один заголовочный файл и 5 cpp файлов. как откомпилировать в консоли шиндоуса весь проект? g++.exe, а дальше что?
Аноним 23/07/17 Вск 20:22:03  1030255
>>1030218
>причем 1 Кбайт
>составляет 1024 байта, а 1 Мбайт — 1024 Кбайт.

Наглое гонево. 1024 байта - это кибибайт, а килобайт - это 1000 байт. Винда тоже считает, что гигибайт - это гигабайт.
Аноним 23/07/17 Вск 20:49:43  1030271
>>1030255
Ну йоу, это же упрощения. Конечно, кибибайт, но их тупо непривычно использовать простым смертным, которые привыкли к стандартным единицам измерения. Поэтому по соглашению, 1 килобайт = 1024 байта. Так просто принято.
Но да, фактически, 1 килобайт = 1000 байт.
Аноним 23/07/17 Вск 21:14:17  1030289
>>1030271
>Поэтому по соглашению, 1 килобайт = 1024 байта. Так просто принято.
Срочно вытравлять. При переходе на гигабайты разница достигает 10%.
Аноним 23/07/17 Вск 21:20:29  1030294
>>1030255
Всем насрать на СИ (Систему Интернациональную). Что физикам, что айтишникам.
СИ жопой спроектирована.
Аноним 23/07/17 Вск 21:55:17  1030317
>>1030294
Значение приставки "кило" от твоего взгляда на систему Си не меняется.
Аноним 23/07/17 Вск 21:56:50  1030318
>>1030317
Скажи ещё что скорость света не равна единице.
Аноним 24/07/17 Пнд 01:08:11  1030371
>>1030190
Скинь свой код, я как-то делал абсолютно тоже самое. Только я использовал in place parallel merge sort написанный с нуля где часть кода была написанна на avx intrinsicts, для сортировки блоков и priority queue для слияния отсортированных блоков ( на самом деле там было несколько вариантов алгоритвом слияния, priority queue был дефолтным ). В качестве либы для потоков использовал Intel TBB. Вообще там я долго возился с оптимизациями, прифилировал и замерял производительноть практически каждой инструкции. Но на моей машине все упиралось в memory bandwidth на фазе сортировки ну и соответственно IO делей хоть я и использовал всякие техники для оптимизации IO и memory paging.
Аноним 24/07/17 Пнд 01:40:04  1030379
>>1030371
Ты слишком крут.
Я едва наговнякал параллельную сортировку на тредах из STL с интросортом, и слияние при помощи priority queue. Пытался его распараллелить, но не осилил вовремя. Рожал это с перерывом на сон и еду в течение двух недель.
Не знаю зачем это тебе. Посмейся хоть https://my.mixtape.moe/pfruig.7z
Аноним 24/07/17 Пнд 03:30:10  1030394
>>1030379
Собрать не смог на Arch Linux GCC 7.1.1
make[2]: No rule to make target 'CMakeFiles/large_file_sort.dir/src/settings.cpp.o', needed by '../tests/check_sort_order'. Stop.

Но беглый осмотр кода, показался мне слишком запутанным с этими разными классами, и я не понял момента с потоками. Ты создаешь тред пул на n потоков и потом читаешь туда n чанков при заданном лимите в 512 мб это уже получает 512
n что на 8ми ядерной системе уже будет уже 4 гб памяти только для данных. Да и использовать поток для сортировки каждого блока мне кажется не лучшей затеей, мне кажется работадатель прежде всего хотел бы увидеть как ты реализуешь параллельный алгоритм сортировки. Покури divide and conqueror алгоритмы типа мерж сорта которые хорошо паралеллятся, хоть он и не inplace по дефолту, но существуют inplace реализации, конечно не так просты в реализации как оргинальный алгоритм, но если не заморачиваться над производительностью то реализация в лоб тоже не плоха и достаточно проста. А можешь вообще юзать memory mapped file в качестве auxiliary массива.
И кстати мелочи, но все же, твоя очередь с названием Atomic ничего общего с atomic не имеет, она Blocked. Могут подумать что ты не шаришь в этом.
Аноним 24/07/17 Пнд 03:37:18  1030395
>>1030394
>Blocked
То есть Blocking
Аноним 24/07/17 Пнд 03:43:08  1030396
>>1030371
>TBB
>avx
Зачем? Просто интересно чем обычный вотерфольный код не зашел.
Аноним 24/07/17 Пнд 04:13:38  1030401
>>1030212
А все, допер, внешняя жи. Спасибо.
Аноним 24/07/17 Пнд 04:37:20  1030404
>>1030394
А я и правда не особо шарю.
Я использовал там доморощенный контроллер выделения памяти вместо аллокаторов, потому что не знал как их использовать. Не знаю и сейчас, лол. Он делит заданный объем памяти на определенное количество "слотов".
В такой слот читается кусок исходного массива, затем слот перемещается в задачу сортировки, которая в свою очередь скармливается пулу потоков. В этот же пул отправляется ещё одна задача, которая по завершении сортировки запишет содержимое слота во временный файл на диск. И так до конца исходного массива.

Когда "слот памяти" выходит из scope, он сигнализирует об окончании своего существования из деструктора в контроллер памяти. Таким образом контроллер делает очередной слот доступным. В итоге используется только заданный объем памяти плюс оверхед хуй знает на что где-то в пять мегабайт. По умолчанию предел выделяемой памяти равен 512 МБ, но можно указать другое значение из командной строки.

Спасибо за совет мудрый, так и сделаю. Иначе мне нехуй в этой профессии делать.
Аноним 24/07/17 Пнд 10:15:05  1030454
>>1030190
>Нужно было сделать за неделю многопоточную внешнюю сортировку с ограничением по выделяемой памяти, используя только STL.
Мне одному, блядь, кажется, что "многопоточная" - то не о тредах на ЦП, а о N-way merge?
Аноним 24/07/17 Пнд 14:27:38  1030583
Короче, быстро решительно накидайте ссылок или ключевых слов, чтобы написать бота для игры, т.е. мышка сама должна двигаться находить участок на мониторе для клика (то окно игры), кликать, двигаться и снова кликать и двигаться и снова кликать. В чем пейсать вижуал студио или QT? Кресты учить лень, я веб макакен, просто накидайте в какую сторону гуглить и какие либы накатывать или что там.
Аноним 24/07/17 Пнд 14:55:09  1030597
>>1030583
https://www.autoitscript.com/site/autoit/ и быстро решительно иди нахуй с таким отношением.
Аноним 24/07/17 Пнд 15:25:09  1030606
>>1030597
спасибо и тьфу на байтоебов))
Аноним 24/07/17 Пнд 15:26:49  1030607
>>1030597
>Compatible with Windows XP / 2003 / Vista / 2008 / Windows 7 / 2008 R2 / Windows 8 / 2012 R2
оу вей, оно 10ку не поддерживает??
Аноним 24/07/17 Пнд 16:07:57  1030633
>>1030607
Зато десятка поддерживает говно еще с икспи. Где-то книжка даже была про long term support в сперме, где рассказывалось как в хп и висте даже старые баги эмалировали чтобы софт на них накостыленный работал.
Аноним 24/07/17 Пнд 16:07:58  1030634
>>1030607
Тебе лень попробовать запустить, уёбок? Иди нахуй из крестотреда, пидорас.
Аноним 24/07/17 Пнд 16:16:21  1030640
Ребята, стоит ли начинать вкатываться к вам с си или с спп?
Читал что спп это тот же си только с классами, пояснити за это.
Спасибо, Максим
Аноним 24/07/17 Пнд 16:26:11  1030643
>>1030634
воу, кокой грубый))
да уже все запустилось, прикольная штука. а как можно кому-нибудь на комп секретно установить этот аутольт, чтобы прожки на нем запускались?))
Аноним 24/07/17 Пнд 16:26:23  1030644
>>1030640
С Хаскеля начни.
Аноним 24/07/17 Пнд 16:53:35  1030665
>>1030644
Чем докажешь что ты не монада?
Аноним 24/07/17 Пнд 17:33:49  1030699
>>1030640
lol
Аноним 24/07/17 Пнд 17:35:09  1030702
>>1030699
я к тому, что называть кресты "С с классами", глупо
Аноним 24/07/17 Пнд 18:36:29  1030754
Гайз, нид хелп. Как последовательно воспроизводить видеофайлы, не меняя постоянно сурс в коде? Файлы имеют почти одинаковые имена, кроме цифр. типа file1.avi file2.avi
Аноним 24/07/17 Пнд 18:40:35  1030757
>>1030754
Какое отношение это имеет к крестам?
Аноним 24/07/17 Пнд 19:32:37  1030778
>>1030754
Ты дверью ошибся, съебись.
Аноним 24/07/17 Пнд 20:05:14  1030794
Безымянный.png (47Кб, 315x183)
Пасибки за совет ЯП, уже столько сырья накрафтил :3
Аноним 24/07/17 Пнд 20:31:43  1030805
Обьясните нулевоу. Что мне скачать для обучения с?

Ткните ссылкой в торрент. Там этих вижул студий 150 разновидностей.
Аноним 24/07/17 Пнд 20:32:47  1030808
>>1030805
Ставь vim
Аноним 24/07/17 Пнд 20:34:09  1030810
>>1030808
Что это?
Аноним 24/07/17 Пнд 20:34:38  1030811
>>1030810
Компилятор.
Аноним 24/07/17 Пнд 20:47:46  1030817
>>1030754
int i = 0;
While (1) {
i++;
std::string nameBegin("file"), extension(".avi"), fullname;
fullname = nameBegin + i + extension;

// do smth w fullname

}
Аноним 24/07/17 Пнд 20:49:23  1030819
>>1030805
Качай Айвора Хортона и соответствующую версию VS
Аноним 24/07/17 Пнд 22:30:21  1030902
>>1030805
если тебе принципиально VS - качаешь community edition, тебе хватит. Бесплатно, с офф сайта
Аноним 25/07/17 Втр 04:59:29  1030995
Что делает приведенная ниже функция?

double f(int x)
{
return (pow(x, -6) - 15 pow(x, -3)) / (5 - pow(x, -3)) + pow(((pow(x, -3) - 9) / 25 - pow(x, -6)), -1)((pow(x, -3) / pow(x, -3) - 5) - 4 pow(x, -3) / (pow(x, -6) - 10 pow(x, -3) + 25));
}
Аноним 25/07/17 Втр 05:01:37  1030997
>>1030995
Как-то оно не очень хорошо вставилось сюда. Быстрофикс.
https://pastebin.com/MsFDqk9Y
Аноним 25/07/17 Втр 08:15:08  1031012
Как присоеденить два компа по UDP, если каждый из них находится в своей подсети (нет глобального IP / port forwarding).

Скайпы и прочие средства коммуникации не передают же все данные через помежуточный сервер?
Аноним 25/07/17 Втр 08:52:44  1031026
>>1030995
Возвращает double
Аноним 25/07/17 Втр 09:04:36  1031028
>>1030805
Если точно с, а не с++ и собираешься изучать это по K&R, ставь codelite c mingw https://www.codelite.org
Аноним 25/07/17 Втр 10:06:43  1031042
скрин один.jpg (319Кб, 1280x1024)
скрин два.jpg (322Кб, 1280x1024)
>>1028033 (OP)
аноны, сап, вкатился только что, объясните почему так
то есть, там же бляжд не должно быть хелло ворлд
Что не так?
Аноним 25/07/17 Втр 10:11:21  1031047
>>1031042
Твой прошлый проект был hello world ?
Вот он его и запускает.
Аноним 25/07/17 Втр 10:14:59  1031051
>>1031042
выброси нахуй кодеблокс, поставь студию
Аноним 25/07/17 Втр 10:18:03  1031053
>>1031042
>execution time 5.5 секунд
Ваши оправдания, байтобляди?
Аноним 25/07/17 Втр 10:19:53  1031055
>>1030995
http://en.cppreference.com/mwiki/index.php?title=Special%3ASearch&search=pow
>>1031012
Нагуглил для тебя: STUN, UPnP
Аноним 25/07/17 Втр 10:21:19  1031056
>>1031053
У челика калькулятор вместо ЭВМ либо ЖД дохнет.
Аноним 25/07/17 Втр 10:22:38  1031057
>>1031053
WINDOWS XP
Аноним 25/07/17 Втр 10:24:00  1031059
>>1031012
UDP hole punching
Аноним 25/07/17 Втр 10:27:05  1031060
>>1031047
А как сделать, чтоб он запускал нынешний?
Аноним 25/07/17 Втр 10:28:16  1031061
>>1031056

>>1031053
На работе кодю
Аноним 25/07/17 Втр 10:28:19  1031062
>>1031057
>>1031056
Я бы охуел на его месте.
Аноним 25/07/17 Втр 10:40:31  1031066
>>1031060
Я хз, как это точно в код-блокс, проверь что ты запускаешь программу через debug->start
Аноним 25/07/17 Втр 11:14:28  1031074
>>1031062
я вкатился минут 5 назад
Аноним 26/07/17 Срд 13:30:08  1031935
mods=gods
Аноним 26/07/17 Срд 14:03:24  1031961
Untitled.png (57Кб, 1136x647)
??
Аноним 26/07/17 Срд 14:11:00  1031964
Untitled.png (5Кб, 487x89)
>>1031961
solved
Аноним 26/07/17 Срд 14:29:42  1031974
19.PNG (63Кб, 721x955)
20.PNG (64Кб, 719x980)
21.PNG (38Кб, 566x655)
Я всё продолжаю потихоньку читать книгу из шапки "Принципы и практика С++" и возникают некоторые вопросы. Дело в том, что я чёрт знает где, и до места, где ловит интернет надо больше часа ехать, а с собой загрузил только несколько книг.
Заместо звёздочки • пишу, звёздочка уходит в разметку.

Прочитал главы про классы, и там много воды и недосказанностей.


Картинка 1.
Т1 наследует Т2. При этом все члены Т1 переносятся в Т2. Насколько я понял, переопределить можно только виртуальные методы. И через =delete можно удалить любой метод. Выходит, наследуемый класс может только дополнять предка, и очень ограниченно его изменять?
1. Как сделать так, чтоб в 45 строчке вызывался только конструктор для Т2, без Т1. Например, какая-то инициализация данных замещается другой и старая уже не нужна. Можно конечно в T1 сделать ещё один конструктор и в T2() вызывать именно его.
2. Размер T1 - 4 байта, Т2 - 8 байт, то есть старая 'а' из Т2 ещё жива. Как получить к ней доступ без функции T1::аа()? Из того, что я смог придумать работает только жуткое static_cast<T1&>(h).а, остальные варианты порождают временые копии, вызывают всякие деструкторы и ругаются на lvalue.
3. Есть ли возможность изменить тип 'а' или вовсе удалить это поле у потомков? Не вижу никаких технических причин, почему классы могут только расширяться. Если не использовать виртуальных методов, то это будет просто более краткой записью.
4. Почему если я объявляю деструктор виртуальным, то вызывается всё-равно оба? По видимому в ~T2() неявно вызывается ~Т1() для наследуемой части, верно?

5. Про new/delete. Предположим, существует массив на 200 мб. Для того что бы добавить один элемент, нужно выделить ещё один массив на 200 мб памяти (+1 элемент), скопировать туда первоначальный массив и только потом его удалить. То есть фактически для функционирования программе нужно в два раза больше памяти, чем она реально потребляет. Тем не менее все вокруг пользуются new/delete (даже, если верить книге, STL работает по умолчанию через них) и никого нисколько не задевает эта проблема. Это нормально? Я немного не понимаю как это вообще так.
Чем был плох сишный realloc? Немного допилить, чтоб оно не требовало непрерывного приведения типов, да и всё.

6. Если я в объявлении T1(const T1& n) пропущу const, это существенно? Компилятор сам в тривиальных случаях довешивает const, inline и прочее или надо каждый раз писать всякие const char• const str, лол?

Картинка 2.
7. Что имелось ввиду то про const? В книге это пункт 18.5.1, но в реальности всё работает вполне логичным образом.
8. void• operator new() В книге ничего про это нет, случайно в подсказках ide увидел такую конструкцию. Выяснил, что можно перегружать даже оператор ->, только как это использовать не совсем ясно. Посоветуйте хорошую книгу или статью про перегрузки, пожалуйста.

9. Использую qtCreator+cmake. Есть проект, в его папке находятся файлы h, cpp, CMakeLists.txt и CMakeLists.txt.user. Как-то по нормальному его можно скопировать в другую папку? Если не удалять CMakeLists.txt.user, то он лезет в оригинальные директории. Заменять в нём пути через поиск попахивает извращением, а если удалять этот файл, то заместо красивых папок "Release"/"Debug" там чудовища. Это мелочь, конечно, но всё же. Может быть как-то в CMakeLists.txt можно строго определить некоторые настройки из CMakeLists.txt.user, не знаю.

10. Есть h-файл (картинка 3) c реализацией функций(в нём не только определения), в нём обычный #ifndef, но если я через include подключаю его более чем в одном cpp файле, то он ругается на multiple defenition функций. Если вынести реализацию в cpp файл, который цеплять в CMakeList.txt, то всё ок. Если явно вставить это в код в двух разных cpp, то та же ошибка. То есть #ifndef работает как будто независимо. Нельзя создать немного кода в h-файле, так чтоб для подключения не приходилось вообще трогать CmakeList.txt? Прощу прощения - это очень-очень нубский вопрос, но мне просто прочитать негде, в книгах, что имеются, про это вообще ничего нет, а искать что-то очень сложно, страницы по две-три минуты открываются, если вообще открываются. Сейчас же новые веб технологии - страницы жутко тяжёлые.
Аноним 26/07/17 Срд 14:51:33  1031990
>>1031974
1. Конструктор родительского класса будет в любом случае вызван перед вызовом конструктора наследуемого класса, при этом, если конструктор не указан явно, будет выполнена попытка вызова конструктора по-умолчанию.
2. Измени области видимости переменной на protected, к примеру
3. Удалять члены из родительского класса нельзя. Это привело бы к печальным последствиям, к примеру, взять урезание типов (когда классы передаются по значению, а не по указателю или по ссылке)
4. Сначала вызывается деструктор наследуемого класса, потом родительского в порядке обратном инициализации конструкторов, насколько я помню.
5. Ты не можешь постоянно хранить данные в стеке (смотри что это такое), при этом размер стека на поток очень ограничен (например в моем линупсе он 8 мегабайт на процесс), конечно, можно увеличить лимит стека, только вот принципа работы стека это не меняет.
7. Например, у тебя есть два объявления:
a. void T1::a() const; и
b. void T1::a();
Тогда если в конструкторе с переданным в него константным объектом ты вызовешь метод n.a(), то будет вызвана перегрузка a, а если конструктор определен как:
T1::T1(T1 &n) { n.a(); }
тогда будет вызвана перегрузка b
8. Ну ебать
9. CMakeLists.txt каак правило, является единственным скриптом, ответственным за генерацию проекта CMake (хотя есть и множество ислючений)
Аноним 26/07/17 Срд 14:54:56  1031992
>>1031974
>> инициализации конструкторов
вызова конструкторов, конечно же

>>1031990
10. За объявления отвечает one definition rule, его сразу сложно описать, так что лучше тебе посмотреть на cppreference и заодно прочитай про линковку.
Если не хочешь сильно заморачиваться, можешь просто добавить inline к объявлению твоего метода и тогда все должно заработать.
Аноним 26/07/17 Срд 16:55:26  1032082
Как по человечески перекатывать гору кода из 2012 студии в 2017? Ясен хуй в 2017 оно не собирается просто так, ошибок дохуя и за ними идут новые, гугл почти нихуя дельного по ним не пишет. Лопатить 500 метров исходников не улыбается, там ещё и зависимости урчат на студию. Киньте ссылок, чтоб я в человека превратился.
Аноним 26/07/17 Срд 17:02:47  1032090
>>1032082
Ты что auto_ptr использовал где ни попадь. Сильно много с тех времен из станарта не удалили или дело в том, что студия криво импортирует старый проект?
Аноним 26/07/17 Срд 17:11:11  1032097
.jpg (31Кб, 371x450)
>>1032090
> студия криво импортирует старый проект?
Вроде ровно, предложила обновить целевую платформу, но что-то пару проектов так и не осилила. Там какие-то батники, из которых ошибки лезут, выход с кодом 2 и прочая ересь. Ну и вообще ошибок мне 1386 штук накидал. Мне теперь руками всё это пердолить? Я, если что, это говно вообще не трогал раньше, но у людей по 2012 студией собиралось.
Аноним 26/07/17 Срд 17:18:28  1032106
>>1032097
Покажи ошибки, может я подскажу что такое.
Аноним 26/07/17 Срд 17:27:00  1032111
.jpg (31Кб, 1011x55)
.jpg (8Кб, 497x21)
.jpg (40Кб, 702x77)
>>1032106
Ну вот например на пиках обновил до 141, а ему всё 140 мерещится. Можно ещё раз обновить, он напишет - да, обновил, заебись теперь, но нихуя.
Аноним 26/07/17 Срд 17:31:58  1032116
>>1032111
Ебать. Ну с такой хуйней я точно никогда не сталкивался. Можно попробовать батником каким-нибудь пройтись по всем файлам проектов (vsproj которые) и посмотреть вхождения 140 версии, больше мне на ум ничего не приходит.
Я оттого давно и пересел на внешнюю систему сборки, потому что обновить проект на студии это как обновлять линупс до нового релиза, без еботы почти никогда не бывает.
Аноним 26/07/17 Срд 22:02:39  1032263
Парни. А в какую сторону САМОРАЗВИВАТЬСЯ. Я вот год сервак для игор в ДС на плюсах катаю, думаю чему бы еще научиться?
Выбираю между вкатом в системщину под линукс (embedded, драйвера итд) и чем то рядом с МАШИН ЛЕРНИНГОМ и обработкой изображений.
Есть идеи?
Аноним 26/07/17 Срд 23:17:42  1032294
>>1032263
В бабло вкатывайся
Аноним 26/07/17 Срд 23:36:53  1032302
>>1032263
специализируйся, углубляй знания того что уже дает работу, денежку
не распыляйся на сторонние вещи
Аноним # OP  26/07/17 Срд 23:42:05  1032305
>>1032263
> Саморазвитие
> На плюсах
В ближайшие 10 лет работы на крестах будет все меньше и меньше, в целом все будет медленно загнивать.
Можете скринить
Аноним 27/07/17 Чтв 00:27:30  1032322
>>1032305
10 лет назад так же говорили.
Однако я в ДС год назад работу джуном меньше чем за неделю нашел.
Аноним 27/07/17 Чтв 00:42:48  1032326
>>1032305
он на бекенде геймдейва, зп там маленькие, вернее неадекватные требуемым скиллам, но работка есть
Аноним 27/07/17 Чтв 07:15:09  1032378
>>1032116
>обновлять линупс до нового релиза, без еботы почти никогда не бывает
Диванного кукаретика видно сразу. Апнул версию абанты уже как минимум 3 раза. Самое еботное что при этом нужно было делать — перезагружать ЭВМ. Ну это, впрочем, как при любом обновлении ядра.
Аноним 27/07/17 Чтв 13:05:11  1032506
>>1032378
ты доебан попробуй обновить у которого релизы раз в пятилетку выходят
А если у тебя была ката от амуде и ты ставил фглрх, вот тогда то и начинается поебота, если его не удалить
Аноним 27/07/17 Чтв 13:33:13  1032522
https://pastebin.com/6WGeCbiu

Может ли алгоритм BFS вывести сам путь? Как его можно модифицировать?
Аноним 27/07/17 Чтв 13:35:27  1032524
>>1032522
По сути в очереди должны храниться все точки? Может из очереди точки кинуть в массив?
Аноним 27/07/17 Чтв 14:12:38  1032555
>>1032506
> производитель поставляет кривой драйвер — виноват линукс

Л — Логика.
Аноним 27/07/17 Чтв 14:27:31  1032566
>>1032555
я говорю о том, что это контрольный выстрел, там дохуя проблем вылазит, перелезь со своей попсы на что-то другое (только не на rolling версию) вероятность прихуеть от смены версий увеличится
Аноним 27/07/17 Чтв 14:31:32  1032569
>>1028033 (OP)
привет
кто нить пробовал линукс поковырять, например допилить шифрование и доп функционал?
я не про бужедор ось, а просто подпилить что то к существующей оси
Аноним 27/07/17 Чтв 15:53:32  1032654
>>1032569
кто допиливал свою ось? или чью правки принял Торвальдс?
Аноним 27/07/17 Чтв 16:04:06  1032660
>>1032654
Нет, например добавить в дебиан шифрование. Весь входящий трафик, а также информацию на диске шифровать.
Аноним 27/07/17 Чтв 16:10:11  1032664
>>1032569
Сделай микроядро из монолитного
Аноним 27/07/17 Чтв 16:43:50  1032681
>>1032660
>Весь входящий трафик, а также информацию на диске шифровать.
Гугл не для нас с тобой, детка, мы летаем выше!
Аноним 27/07/17 Чтв 18:17:22  1032746
>>1032522
Нихуя не понял. Что за col и row? Что такое k, и почему итерируется только до 4? У графа какая-то сомнительная реализация. Почему не используешь контейнеры?
А по делу, visited можно хранить индекс предыдущей вершины, а когда найдешь искомую вершину пройтись по visited в обратном порядке. Если путь неважен, то вместо вершины можно сумарную дистанцию пихать.
Аноним 28/07/17 Птн 04:10:18  1033044
>>1028064
Нахуя это сделано?
Аноним 28/07/17 Птн 04:29:20  1033045
image.png (67Кб, 239x222)
>>1031042
Не слушай эту студиеблядь ( >>1031051 ), ставь MinGW и Cmder, вписывай папку bin в PATH и радуйся :3
Аноним 28/07/17 Птн 07:18:36  1033054
>>1033045
А в чём плюсы Cmder'а?
Аноним 28/07/17 Птн 09:16:15  1033069
>>1033045
щас бы пердолиться даже в винде, вметсо нажатия одной кнопки, лучшей IDE и волшебного дебаггера.
Аноним 28/07/17 Птн 09:36:04  1033081
>>1033069
Вот всегда не понимал этого. Причем обычно этим занимаются те, кто пишет на всякой хуйне вроде ruby или php.

То есть как байтоёбить, так это пердолинг. Только байтоёбство и отсутствие абстрактной хуиты приносит пользу.

А вот то что ты git юзаешь из консоли и набираешь код в vim'е - пользы тебе не дает никакой.
Всю жизнь сидел в студии, юзил решарпер, отладчик и оконные приложения для контроля версий. Вот зачем?
Аноним 28/07/17 Птн 09:44:23  1033083
>>1033081
кнопкодрочер уровня бох. з.ы. большего говна чем вс не сыскать, даже джетбрейнс не такое говно.
Аноним 28/07/17 Птн 09:46:08  1033087
>>1033081
я ходил на собесы в москвоский Яндекс недавно. Спецом спрашивал про студию у людей, т.к. заебало сидеть с красноглазой парашей.

Так вот - мегакрутые чуваки, которые меня собесили (бывшие работники гуглов\майкрософтов и прочего), все пользуются студией и им норм. А илитарии с двачей юзают исключительно вим и тратят хуеву гору времени на то, что нормальные люди делают 1 клико.м
Аноним 28/07/17 Птн 09:52:09  1033091
>>1033087
>мегакрутые чуваки
это которые контекстную рекламу делают?
Аноним 28/07/17 Птн 09:53:15  1033092
>>1033087

Помню у меня в универе был один такой арчеблядок. У него вечно бомбило когда я его спрашивал вопросы по железу. Например "от скольки вольт работает процессор", или чем "RISC отличается от CISC", или "чем отличаются защищенный режим от реального"?

Вот скажите, линяри, почему пердолиться с софтом это благородно, а пердолиться с железом - зашквар? Компьютер - это электронное устройство. Я считаю что его надо знать. А компьютеры поставлять в наборе "спаяй сам". А то раньше мой батя звуковуху сам паял, были времена.

Упрощение - это хорошо.
Аноним 28/07/17 Птн 09:56:37  1033094
>>1033092
>звуковуху сам паял,
тебя тоже сам спаял?
Аноним 28/07/17 Птн 09:57:23  1033095
>>1033094
С твоей мамкой. Но мы не братья, он её в жопу ебал с:
Аноним 28/07/17 Птн 10:07:30  1033098
>>1033091
которые сделали топ2 поисковый движок и кучу ин-хаус вещей для машинного обучения
Аноним 28/07/17 Птн 11:28:14  1033140
>>1033098
>поисковый движо
который кроме рекламы и говна нихуя не находит, впрочем как и гуглапараша
>для машинного обучения
хуинного, бигдата и машинленинг бесполезная хуета для развода лохов
мимонюфаг третий день кодю 28/07/17 Птн 11:34:23  1033143
аноны, в чем хуйня? cpp.sh/66fmk впервые с такой ошибкой столкнулся
Аноним 28/07/17 Птн 11:48:13  1033145
Насколько уёбищно с архитектурной точки зрения запускать метод класса в другом потоке?
Аноним 28/07/17 Птн 11:51:35  1033148
>>1033143
> ...
> line 12: coat << "Vvedite ocenki, dlya vihoda napishite -1";
> ...
> 12:5: error: 'coat' was not declared in this scope
> 'coat'
>'COAT'
Быть может там всё же должен быть cout?
Аноним 28/07/17 Птн 11:58:31  1033151
>>1033148
ой, спасибо. очень жаль что я сам не додумался. теперь работает
Аноним 28/07/17 Птн 12:03:33  1033153
>>1033145
Ничего плохо, если правильно синхронизируешь. Ну и не используешь потоко-зависимые хендлы, которые нельзя создавать в одном потоке, а использовать в другом
Аноним 28/07/17 Птн 12:40:47  1033185
Goat-HD-Wallpap[...].jpg (265Кб, 1920x1200)
>>1033148
goat
Аноним 28/07/17 Птн 13:02:31  1033202
>>1028033 (OP)
Пишу приложение для расчета зарплаты на QT + SQLite. Уже охуел от архитектуры. Посоветуйте книги по ООП-дизайну приложений, чтобы не охуевать так.
Аноним 28/07/17 Птн 14:34:02  1033240
>>1033202
Двачую этого
Аноним 28/07/17 Птн 15:00:26  1033252
>>1033044
Так можно про все плюсы спросить. Для C-строк это сделано, читать могёшь?
Аноним 28/07/17 Птн 15:14:06  1033256
Короче, есть статически скомпилинная кутя. Всё компилится, линкуется и запускается, но QAudioDeviceInfo и QCameraInfo наотрез отказываются обнаружать динамики, микро и камеру хотя с обычной кутей все заебись. Есть предположения что это и как исправить?
Аноним 28/07/17 Птн 15:23:28  1033259
>>1033256
смотри флаги с которыми скомпилин кьют
Аноним 28/07/17 Птн 15:31:42  1033273
>>1033256
Самый тупой вариант: собрать дебуг-версию и подрубить к дебуггеру. Что бы ни было проблемой, ты это найдёшь.
Аноним 28/07/17 Птн 15:44:44  1033283
>>1033256
>есть статически скомпилинная кутя
Лицензию-то уже купил?
Аноним 28/07/17 Птн 15:50:10  1033285
>>1033140
> хуинного, бигдата и машинленинг бесполезная хуета для развода лохов
Я тебя понял
Аноним 28/07/17 Птн 15:57:50  1033289
АНАНАСЫ, не пойму что я делаю не так. Нужно найти QWidget в std::vector<QWidget>. std::find работает, выдает итератор. Пытаюсь удалить объект delete *iter, а потом убрать из вектора .erase(iter), но программа крашится.

http://ideone.com/sywQxB
Аноним 28/07/17 Птн 16:06:40  1033293
>>1033092
>У него вечно бомбило когда я его спрашивал вопросы по железу.
А при чем тут те, к кому ты обращаешься?
Аноним 28/07/17 Птн 16:46:41  1033326
>>1033092
>Компьютер - это электронное устройство. Я считаю что его надо знать
Нахер иди. Это нужно знать только если ты школьник с васма и разрабатываешь вирусы. Там постоянно ведутся вялотекущие срачи об архитектуре штеуда и его реальном и защищенном режимах. Зачем все это знать человеку, который не пишет драйверы или малварь? Не навязывай людям свои интересы, и не будешь послан или унижен, не ответив, в чем разница между pop и ROP
Аноним 28/07/17 Птн 17:27:45  1033359
>>1033092
>от скольки вольт работает процессор
От 220.
Аноним 28/07/17 Птн 17:32:55  1033365
wtf.PNG (6Кб, 332x389)
Поясните за пикрил. Эта хрень имеет какой-то смысл? Если не имеет, то почему на нее не ругается компилятор?

Можно ли безболезненно удалить один экземпляр void operator++?

Код не мой. Его не правили уже лет 20.
Аноним 28/07/17 Птн 17:34:46  1033368
>>1033365
>Код не мой. Его не правили уже лет 20.
Тебе его тоже не стоит трогать. С твоим-то уровнем.
Аноним 28/07/17 Птн 17:41:24  1033378
logic.PNG (42Кб, 866x490)
>>1033368
Я не виноват, что Страуструп намеренно придумал язык, в котором нет никакой логики. Такая хуйня даже под наркотиками не может прийти в голову. Он намеренно делал ебанутый язык, чтобы не пердоля 5 лет книги по нему нельзя было вкатиться.
Аноним 28/07/17 Птн 17:43:16  1033379
>>1033378
>Страуструп намеренно придумал язык, в котором нет никакой логики
Нет или ты не видишь?

> Такая хуйня даже под наркотиками не может прийти в голову.
Твой вариант синтаксиса для перегрузки префиксного и постфиксного ++
Аноним 28/07/17 Птн 17:46:15  1033382
>>1033379
Ты просто сектант.

Все что придумал Страуструп -- это лютая нечеловеческая бессмысленная хуета. Достаточно выучить любой функциональный язык, чтобы это понять.
Аноним 28/07/17 Птн 17:48:28  1033385
>>1033382
>Достаточно выучить любой функциональный язык
С твоим подходом вряд ли ты выучил хоть один из них, лол.
Аноним 28/07/17 Птн 18:01:16  1033407
>>1033382
Есть 2 типа языков, на которые все ругаются, и которыми никто не пользуется.
Аноним 28/07/17 Птн 18:02:08  1033410
>>1033252
Да ясно, что C-строки, но почему так, а не через отдельный тип данных?
Аноним 28/07/17 Птн 18:08:56  1033416
Паршу файлик через boost spirit x3. Следуя примерам из доков получается что-то вроде: https://pastebin.com/VZ5LGwQ8
Много кода дублируется, и возник вопрос, можно ли сделать из
x3::rule<class %rule_name%, %SynthAttrType%> %rule_name% = "%rule_name%";
auto const %rule_name%_def = %some_nonterminals%;
BOOST_SPIRIT_DEFINE(%rule_name%);

что-то вроде
MakeRule<%SynthAttrType%> %rule_name% = %some_nonterminals%;
?

Аноним 28/07/17 Птн 18:10:32  1033418
>>1033054
Ну, во-первых, стандартный cmd.exe пиздецки уебищный и неудобный, Cmder поприличней будет. Во-вторых, есть встроенные linux-комманды (типа "ls", "cat", "sh" и т.д.).

В принципе, может кому-то и удобно стандартную консоль использовать, и наверняка многим linux-комманды не нужны, я просто предложил как вариант.
Аноним 28/07/17 Птн 18:10:34  1033419
>>1033407
>
>
Два бидона чая сиру
Аноним 28/07/17 Птн 18:15:00  1033421
>>1033359
Вы вольты с ваттами перепутали
Аноним 28/07/17 Птн 18:16:02  1033423
>>1033421
Хорошо хоть не с люменами.
Аноним 28/07/17 Птн 18:16:05  1033424
>>1033421
Вы чувство сарказма потеряли.
Аноним 28/07/17 Птн 18:16:10  1033425
>>1033069
Никогда не любил студии, лично для меня они неудобные. Консоль, к тому же, в отличие от IDE, дает тебе полный контроль над файлами. Не люблю я, когда студия сама решает, что и куда ей девать.
Аноним 28/07/17 Птн 18:16:54  1033426
>>1033425
А что и куда она девает вне рабочей папки проекта?
Аноним 28/07/17 Птн 18:18:11  1033427
>>1033425
Плюс, в процессе программирования нет ничего лишнего, только консоль и текстовый редактор. Все максимально минималистично.
Аноним 28/07/17 Птн 18:23:59  1033433
>>1033426
Я не говорю, что файлы пропадают из рабочей папки проекта. Я просто хочу самостоятельно контролировать каждый файл. Я не хочу, чтобы в папке с проектом лежали еще какие-то спец. файлы (например .toml файл у rust). Я не хочу нажимать на ебаные кнопки, при этом не понимая, что конкретно они делают.
Аноним 28/07/17 Птн 18:26:52  1033437
>>1033087
Не понимаю зачем использовать Vim, если есть нормальные текстовые редакторы, типа Sublime Text, например. Консоль использую чисто для компиляции/запуска программы.
Аноним 28/07/17 Птн 18:27:51  1033438
>>1033433
>нажимать на ебаные кнопки, при этом не понимая, что конкретно они делают
обычно на них написано весьма конкретно что они делают.

>Я просто хочу самостоятельно контролировать каждый файл
но ты и так контролируешь все файлы ПРОЕКТА, все остальное это выхлоп компилятора и системы сборки, и они в папку проекта не лезут.
Аноним 28/07/17 Птн 18:30:01  1033441
>>1033437
define 'нормальные текстовые редакторы'.
Вим тащит своим функционалом. Но чтобы его использовать нужно просто привыкнуть.
Аноним 28/07/17 Птн 18:30:20  1033442
>>1033151
Блядь, ты хоть читаешь то, что тебе выдает компилятор?
Аноним 28/07/17 Птн 18:32:26  1033446
>>1033416
Ну чтож вы крестаны? Никто не знает?
Аноним 28/07/17 Птн 18:37:48  1033458
>>1033438
>обычно на них написано весьма конкретно что они делают.
Я имею ввиду на более низком уровне. Какие параметры передаются компилятору, линкеру. Мне важно это контролировать.
Аноним 28/07/17 Птн 18:38:58  1033460
>>1033441
>Вим тащит своим функционалом
Чем именно?
Аноним 28/07/17 Птн 18:43:16  1033467
>>1033458
Это все в свойствах проекта содержится, где твоим параметрам еще быть.
>>1033460
Спроси у какого-нибудь кто пользуется вимом. Вроде как там можно мутить крутые макросы.
>Vim (сокр. от Vi Improved, произносится «вим») — свободный текстовый редактор, созданный на основе более старого vi. Ныне это один из мощнейших текстовых редакторов с полной свободой настройки и автоматизации, возможными благодаря расширениям и надстройкам.
>Одна из главных особенностей редактора — применение двух основных, вручную переключаемых, режимов ввода: командного (после запуска редактор находится в нём) и текстового (англ. insert mode, режим непосредственного редактирования текста, аналогичный большинству «обычных» редакторов). Существуют и другие режимы.
Аноним 28/07/17 Птн 18:47:30  1033474
>>1033467
> Вим тащит своим функционалом
> Вроде как
Ты сам то им пользовался? Нах ты утверждаешь, при том, что сам не можешь быть уверен. "Я им не пользовался, но это охуительный редактор."
Аноним 28/07/17 Птн 18:52:23  1033480
>>1033474
Ахуительный редактор. Я, когда пытался его освоить, так ахуевал, что словами не описать говно какое-то, имхо
Аноним 28/07/17 Птн 18:55:49  1033483
>>1033474
Это прежде всего инструмент, под свои задачи. Кто как хочет тот так дрочит, что ты сразу раскукарекался: "гувну какуето, засен ано нузна?"
Аноним 28/07/17 Птн 19:00:20  1033489
>>1033483
Когда я сказал, что это говно? Ты сказал:
> Вим тащит своим функционалом
Я задал логичный вопрос:
> Чем именно?
И тут оказывается, что ты этим редактором вообще не пользовался
>Спроси у какого-нибудь кто пользуется вимом
А дальше ты отвечаешь текстом из википедии.
Вопрос: нахуя писать, что это крутой текстовый редактор, если ты, мало того, что не можешь объяснить почему именно, так еще и не пользовался им вообще.
Аноним 28/07/17 Птн 19:07:32  1033495
>>1033293
То шо такие же долбоёбы.

>>1033326
Именно. А программисту не обязательно учить vim и git, не зазорно юзать GUI-Версии.
Я наоборот сказал что знать, с таким как у вас подходом, нужно дохуища.
>>1033359
Редко превышает 3.3
Аноним 28/07/17 Птн 19:12:43  1033501
>>1033418
Посмотрел, годнота. Беру :)
Аноним 28/07/17 Птн 19:14:39  1033504
>>1033427
В мире С++ возможно сделать 100% верное и правильное автодополнение и статический анализ. Когда ты просто делаешь ставишь точечку, и тебе IDE показывает, что с этим можно сделать. Такая самодокументация. Ошибки в коде, которые тебе IDE услужливо подсказывает, чтобы двадцать раз не перекомпилировать. Подсказки, предложения по рефакторингу.

А ты выбираешь карго-культ тех времен, когда топовой тачкой был пентиум.

Аноним 28/07/17 Птн 19:15:50  1033506
>>1033489
Ты спросил, я ответил. Тебя вообще ебет пользовался я им или нет?
>Вопрос: нахуя писать, что это крутой текстовый редактор, если ты, мало того, что не можешь объяснить почему именно, так еще и не пользовался им вообще.
Потому что мне так сказала википедия, например.
Аноним 28/07/17 Птн 19:16:04  1033507
>>1033504
С этим, пожалуй, соглашусь. Это одно из немногих преимуществ IDE перед текстовыми редакторами.
Аноним 28/07/17 Птн 19:17:22  1033509
>>1033506
По-моему, нехуй пиздеть, если не знаешь точно.
Аноним 28/07/17 Птн 19:17:40  1033511
>>1033506
че за даун))
Аноним 28/07/17 Птн 19:20:39  1033515
>>1033507
Может тогда проще сделать в ide режим минималистичного функционала, чтобы кроме текстового файла и подсветки с автодополнением ничего не показывалось?
VS вроде поддерживает перепиливание компоновки окон?
Аноним 28/07/17 Птн 19:25:59  1033518
msvc.png (68Кб, 1920x1168)
>>1033515
Я вот так работаю вообще

1033504-кун
Аноним 28/07/17 Птн 19:34:51  1033522
>>1033518
Не достаточно, лично меня отвлекает все, что наверху.
Аноним 28/07/17 Птн 20:03:09  1033535
>>1033515
Неужели не существует ни одного "умного" текстового редактора, который умеет просматривать импортированные файлы и показывать какие есть функции/свойства у объекта? А ведь вполне реализуемо.
Хмм.. может самому сделать?
Аноним 28/07/17 Птн 20:05:45  1033540
>>1033535
Для разбора шаблонов чуть ли не пол компилятора придется написать, наверное.
Аноним 28/07/17 Птн 20:09:13  1033549
>>1033540
И то верно. Сложно, но ведь не невозможно
Аноним 28/07/17 Птн 20:25:44  1033563
>>1033535
>Неужели не существует ни одного "умного" текстового редактора, который умеет просматривать импортированные файлы и показывать какие есть функции/свойства у объекта?

Completion с помощью clang сейчас не завёз в свой текстовый редактор только ленивый.
Аноним 28/07/17 Птн 20:48:03  1033573
>>1028033 (OP)
Расскажите о разнице между типами unsigned int и unsigned long. Какой тип выбрать для использования аппаратных регистров целиком?
Аноним 28/07/17 Птн 20:55:03  1033578
>>1033573
Long больше
Аноним 28/07/17 Птн 21:02:24  1033584
>>1033573
зависит от железяки и битности.

А вообще #include <cstdint>
Аноним 28/07/17 Птн 21:13:23  1033597
>>1033283
1) LGPL (под которой выпускается Qt) не обязывает к распространению исходников, всего лишь надо предоставить любой способ замены либ Qt на произвольные, например - распространять .obj-файлы и инструкцию о компиляции.
2) Пока он ничего не распространяет, он вообще ничего не должен.
>>1033289
В этом куске всё правильно, ищи ошибку в другом месте.
>>1033365
>Эта хрень имеет какой-то смысл?
Первое - это прединкремент. Второе - постинкремент. Поищи обсуждение в прошлых тредах.
>>1033410
Предлагаешь писать string("huypizda") вместо "huypizda"?
>>1033416
>BOOST_SPIRIT_DEFINE
Это макро. Вместо макро может быть только другое макро, тимплитом ты его не заменишь (если ты не знаешь, что делает это макро.
В бусте не шарю.
>>1033424
А у тебя его и не было.
>>1033425
Сколько строк/байт в самом большом твоём проекте?
>>1033458
>Я имею ввиду на более низком уровне. Какие параметры передаются компилятору, линкеру. Мне важно это контролировать.
Специальная страничка в свойствах есть, где это написано, и напротив большинства свойств написан компиляторный свитч.
>>1033522
КутыКректор тебе подойдёт, как и мне, но он не без недостатков.
>>1033540
Clang Code Model.
>>1033573
>Какой тип выбрать для использования аппаратных регистров целиком?
1) Посмотреть размер регистров.
2) Использовать uint32_t, uint64_t и так далее.
Аноним 28/07/17 Птн 21:13:56  1033598
>>1033584
>зависит от железяки и битности
Как это? В C++ нет типа, который на любой платформе процецируется полностью на регистр?
Аноним 28/07/17 Птн 21:55:23  1033618
>>1033597
>распространять .obj-файлы и инструкцию о компиляции.
По существу, если это "работа, которая использует библиотеку", тогда должна быть возможность линковки программного обеспечения с новой версией продукта, лицензируемого под LGPL. Самый часто используемый метод это сделать это использовать "подходящий механизм разделяемых библиотек для линковки". В качестве альтернативы разрешена статическая линковка если предоставлен исходный код или объектные файлы для линковки.[2]
https://ru.wikipedia.org/wiki/GNU_Lesser_General_Public_License
Ога
Аноним 28/07/17 Птн 21:57:26  1033620
>>1033598
С++ (и даже C) - это высокоуровневый язык. Максимум того, что ты можешь найти - uint32_fast_t. Есть процессоры с 32-битными адресами и 64-битными регистрами. Есть и ARM - в 64-битных операциях пара регистров используется, как один, и никакой практической разницы между парой и одним регистром нет.
Если ты дошёл до использования регистров, ты пишешь под одну архитектуру, и размер регистров ты знаешь.
Аноним 28/07/17 Птн 22:27:40  1033631
>>1033620
>С++ (и даже C) - это высокоуровневый язык
Да не, это хуево задизайненный низкоуровенный язык и еще один язык от него эту хуевость унаследовавший. Хотя в то время, когда С появился,пока все писали себе компиляторы сами и это проблемой не было.
Аноним 28/07/17 Птн 22:38:00  1033637
>>1028033 (OP)
Анон, кто нить пробовал переписать драйвер для какой нибудь железки. Например мп3 плеер, чтобы помимо всего прочего он отправлял данные (как делают антивирусы и многий другой софт);
Аноним 28/07/17 Птн 23:17:55  1033662
>>1033597
>Предлагаешь писать string("huypizda") вместо "huypizda"?
Зачем, если можно писать "huipizda"s ?
Аноним 29/07/17 Суб 00:05:50  1033678
>>1033662
Юзер-дифайнд литерал или уже есть в стандарте?
Аноним 29/07/17 Суб 00:07:02  1033679
>>1033678
Начиная с 14-го.
Аноним 29/07/17 Суб 10:19:25  1033772
android-scrolla[...].png (10Кб, 720x480)
Нужен tab bar из андроида (material) в Qt Widgets. Как такое реализовать? Наследоваться от QTabBar, а потом что? Как там кастомные кнопки делать?
Или можно как-то с quickcontrols вытащить?
Аноним 29/07/17 Суб 13:14:08  1033819
>>1033772
Можно либо использовать мобильные контролы на мобилках с мобильным QML, либо использовать десктопные виждеты на десктопе.
>Наследоваться от QTabBar, а потом что?
А потом с нуля всё обрисовывать ручками, писать всю логику вроде переключения табов и их анимации.
Аноним 29/07/17 Суб 15:34:40  1033898
>>1028033 (OP)
Какого хуя uint8_t выводится в std::cout как символ?
Как вывести эти значения как байты в 10-чной или 16-ричной системе?
Аноним 29/07/17 Суб 15:51:33  1033906
>>1033898
uint8_t a = 65;
cout << +a;
Аноним 29/07/17 Суб 15:58:03  1033909
>>1033819
как? я так понимаю мне нужно реимплементнуть paintevent, но не у qtabbar ведь? или нужно создать новый виджет, потом реимплементнуть addTab и каким-то образом пририсовывать полоску выделения снизу?
Аноним 29/07/17 Суб 16:00:07  1033912
>>1033898
>Какого хуя uint8_t выводится в std::cout как символ?
Возможное объяснение тебя не устроит. uint8_t - это typedef char uint8_t на большинстве архитектур, а char - это тип для букв в Си.
Мне бы тоже хотелось, чтобы uint8_t выводился числом, а char - символом.
Аноним 29/07/17 Суб 16:01:48  1033913
declaration.PNG (6Кб, 356x249)
Поясните в чем смысл подобной декларации класса Hash внутри пространство имён Foo::Bar?

Чтобы не нужно было инклудить хедер? Программа потом линкуется с либой, где этот класс определен. Очень часто в файлах, которые я рассматриваю классы декларируется таким образом, но никак не используются. Т.е. если сделать Ctrl+F по файлу, то слово Hash там встретится 1 раз -- только в самой декларации. В таком случае можно эту декларацию удалить?
Аноним 29/07/17 Суб 16:07:25  1033921
>>1033912
>uint8_t - это typedef char uint8_t
Только unsigned char :)
Аноним 29/07/17 Суб 16:44:40  1033939
Forward declaration; Класс в неймспейсе, если его задекларировать не его, он не отрезолвится
Аноним 29/07/17 Суб 16:45:01  1033940
>>1033939
>>1033913
Аноним 29/07/17 Суб 20:27:05  1034089
Подскажите сайт с задачками, чтобы подтянуть скилл в C++
Аноним 29/07/17 Суб 21:48:09  1034133
>>1028315
NetBeans+gcc.
Аноним 29/07/17 Суб 22:03:02  1034143
>>1034089
Напиши кроссплатформенный (windows xp-7-8-10(metro-интерфейс тоже) x32x64, linux, MacOS) ежедневник с почтовым клиентом и интеграцией с мобильными (ios, Android 4 и выше, WP) приложениями (их тоже напиши)
Аноним 29/07/17 Суб 22:16:36  1034153
>>1033939
> Класс в неймспейсе, если его задекларировать не его, он не отрезолвится
Я один нихуя не понял?
Аноним 29/07/17 Суб 22:17:26  1034154
>>1034143
> (windows xp
Зачем писать под трупов?
Аноним 29/07/17 Суб 22:52:12  1034164
>>1034154
Просто, чтоб заебаться.
Аноним # OP  30/07/17 Вск 00:09:54  1034214
>>1034154
В ентерпрайзе до сих пор ms dos есть, а на вин хр еще очень много машин осталось.
Аноним 30/07/17 Вск 01:02:01  1034229
>>1034214
Там очень не хватает ежедневника с почтовым клиентом.
Аноним 30/07/17 Вск 02:58:01  1034262
Вкатываюсь в С++.
Есть какие-то охуенные задачки и манулалы к прочтению и изучению?
Аноним 30/07/17 Вск 05:15:28  1034273
>>1034153
>> Я один нихуя не понял?
да
Аноним 30/07/17 Вск 07:27:54  1034279
>>1034262
Стандарт — охуенный.
Аноним 30/07/17 Вск 10:15:34  1034296
>>1034229
>подтянуть скилл
Аноним 30/07/17 Вск 12:00:51  1034317
>>1031961
Для флага -std=c++xx в cmake используют другое. set(CMAKE_CXX_VERSION xx), насколько помню
Аноним 30/07/17 Вск 12:02:34  1034318
>>1034317
set(CMAKE_CXX_STANDARD xx)
hotfix
Аноним 30/07/17 Вск 12:13:16  1034320
>>1034296
Языком вдоль уздечки подтяни.
Аноним 30/07/17 Вск 12:49:36  1034333
Стикер (0Кб, 512x512)
Ребзя, го попердолим чонибуть))
Браузер свой запилим или джаваскрипт sasach_version ))
Что мы ради хеловротов учим си пюспюс
Аноним 30/07/17 Вск 12:50:00  1034334
>Если я в объявлении T1(const T1& n) пропущу const, это существенно? Компилятор сам в тривиальных случаях добавляет const, inline и прочее или надо каждый раз писать всякие f(const char* const str) const {...}, даже для функции на одну строчку, лол?
Всё ещё очень интересно и любопытно.

>>1031990
Понятно местами, благодарю.
2. Кстати говоря, я подобрал. Можно использовать h.T1::a и h.T2::a для получения доступа к "а" предка и потомка. И как я сразу не догадался. Конечно, всё ещё не совсем понятно, зачем мне такой синтаксис.

Аноним 30/07/17 Вск 13:30:19  1034343
>>1034333
>Браузер свой запилим
Форчонг/г пилит, можешь с ними поделать.
>>1034334
>f(const char* const str) const {...}
Второй конст не нужен, третий конст - только для методов конст-классов. Что ты порешь? Это консты с тремя разными ролями.
>это существенно?
Всего лишь не сможешь передавать часть констант, делов-то.
Аноним # OP  30/07/17 Вск 14:03:37  1034361
>>1034229
Представляешь себе, на msdos действительно нужен почтовый клиент, потому что без него сложно в энтерпрайзе.
Аноним 30/07/17 Вск 14:07:35  1034365
>>1034361
>msdos действительно нужен почтовый клиент
Кстати, неплохая идея! Почтовый клиент с календарём под мсдос на псевдографике.
Аноним 30/07/17 Вск 14:15:40  1034368
Вопрос скорее не про C++, а про ООП в целом.

Есть ли какой-то традиционный синтакс/способ для обозначения членов класса с разными модификаторами доступа public, private, protected в документации? Цветом или еще как-то (звездочками, крестиками, плюсиками)?

Какой-нибудь стандартный стиль?
Аноним 30/07/17 Вск 14:18:06  1034370
>>1034368
Прайвет часто ообозначают замком в ИДЕ, например. Про протектед не знаю.
Аноним 30/07/17 Вск 14:19:15  1034371
>>1034361
msdos в энтерпрайзе это какое-нибудь управление станком с ЧПУ.
Аноним 30/07/17 Вск 14:23:54  1034373
>>1034368
Ищу в гугле. Один ваш запрос — 50$. Первый бесплатно.
https://www.google.com/search?q=uml+protected
Аноним 30/07/17 Вск 17:05:13  1034415
virtual.PNG (4Кб, 440x156)
В чем смысл создания таких классов? Когда такое бывает нужно?
Аноним 30/07/17 Вск 17:18:45  1034424
>>1034415
Каких "таких"? Уточни вопрос.
Аноним 30/07/17 Вск 17:18:59  1034426
>>1034415
Когда программист ебланит и пишет костыли. Виртуальный деструктор может быть нужен только в базовом виртуальном классе, но явно не в унаследованном интерфейсе.
Аноним 30/07/17 Вск 17:53:13  1034440
neponimat.jpg (63Кб, 711x461)
>>1034424
>Каких "таких"? Уточни вопрос.
Таких ебанутых, как на пике. Я до сих пор не понял зачем все это нужно. Класс Foo потом еще раз наследуется в Foo2, который в свою очередь наследуется в Foo3.
Аноним 30/07/17 Вск 18:51:16  1034494
Почему подобный класс (у которого член его же типа) не создает ошибки ни во время компиляции ни во время работы программы?
Аноним 30/07/17 Вск 18:53:27  1034498
>>1034494
http://en.cppreference.com/w/cpp/language/static
The declaration inside the class body is not a definition and may declare the member to be of incomplete type (other than void), including the type in which the member is declared
Аноним 30/07/17 Вск 19:10:13  1034512
я правильно понимаю, что для сложного бота в игре нужно писать распознаватель картинок, т.к. доступа к апи игры нет, тока к изображению?
Аноним 30/07/17 Вск 19:35:58  1034526
>>1034512
Что за игра? Лучше бы в gd спрашивал. Хотя там тоже нет смысла.
Нужны скриншоты и насколько сложные штуки должен делать бот.
Думается, с таким подходом оно не сможет в реальном времени работать, а если и сможет, слишком это ненадёжно и кучи нерегулярных ошибок будут. Только миникарту и другие детали интерфейса потрогать есть смысл, ну или если игра двухмерная, конечно.
Аноним 30/07/17 Вск 20:08:43  1034540
Аноны подскажите норм компилятор под дроид да я знаю это извращенство для изучение сабжа
Аноним 30/07/17 Вск 20:11:29  1034542
>>1034526
А если игра трехмерная? Как вообще тогда делают ботов для 3Д игор? Я именно про сложных ботов, способных самостоятельно гасить мобов, распознавать, умер ли моб, где умер, есть ли личные сообщения и приглосы. Про данжи пока не говорю.
Аноним 30/07/17 Вск 20:32:07  1034549
>>1034540
https://play.google.com/store/apps/details?id=champion.gnuroot&hl=en
https://www.xda-developers.com/guide-installing-and-running-a-gnulinux-environment-on-any-android-device/

5 секунд в гугле.
Аноним 30/07/17 Вск 20:36:08  1034552
>>1034542
Никак без АПИ не сделаешь. Все полноценные боты пишутся авторами игры.
Аноним 30/07/17 Вск 20:42:36  1034556
>>1034440
Я думаю нет тут глубинного смысла. Тем более с такой иерархией наследования. Просто кто надергал кусков из гугла\SO и попытался слепить то, что скомпилится.
Аноним 30/07/17 Вск 23:17:18  1034656
>>1034542
Снифаешь трафик между клиентом и сервером, пытаешься понять протокол.
Аноним 31/07/17 Пнд 10:26:09  1034775
>>1034512
Сложный бот читает память процесса игры
Аноним 31/07/17 Пнд 15:26:39  1034884
>>1034542

Читаешь память, перехватываешь функции в самой игре (обмен сетевыми данными и тд)

Для этого тебе потребуетсяя Winapi и скилл. Функции вроде WriteProcessMemory/ReadProcessMemory и тд.

Перехват пакетов на уровне Winsock (Send/Recv) и тд.

Это дело не легкое но интересное. Нужно хоть чуток АСМ-а еще знать.
Аноним 31/07/17 Пнд 18:08:30  1034981
Я понять не могу, qvector что, не умеет хранить объекты без конструктора копирования?
Аноним 31/07/17 Пнд 18:17:41  1034996
анон что за хуйня? двое суток уже разобраться не могу.
Аноним 31/07/17 Пнд 18:18:27  1034997
>>1034996
Пэ.Сэ после консоли просто вылетает и всё.
Аноним 31/07/17 Пнд 18:46:55  1035008
>>1034997
Может ты не тот проект запускаешь?
Аноним 31/07/17 Пнд 18:48:26  1035010
>>1035008
а как тот?
Аноним 31/07/17 Пнд 18:50:15  1035012
>>1035010
Ну а че за хуйня у тебя ConsoleApplication3.cpp не ебу даже. В списке проектов смотри, жирным выделен активный. Может ты вхуячил гору проектов и выбрал пустой для запуска, а изменяешь совсем другой.
Аноним 31/07/17 Пнд 18:59:57  1035014
>>1035012
новая хуйня
Аноним 31/07/17 Пнд 19:06:58  1035016
>>1035014
Ты олигофрен?!
Аноним 31/07/17 Пнд 19:09:07  1035018
>>1035016
настолько, насколько это возможно. В чем моя ошибка?
Аноним 31/07/17 Пнд 19:14:32  1035023
>>1035014
Андрей, иди нахуй
Аноним 31/07/17 Пнд 19:16:19  1035024
>>1035023
ну чего ты
Аноним 31/07/17 Пнд 21:41:49  1035113
>>1034981
По-другому автоматическое расширение вектора ты не организуешь. Более того, std::vector тоже не может без констр. копирования (если я правильно помню).
Аноним 31/07/17 Пнд 22:22:41  1035147
Объясните на пальцах, как работают ядра процессора и их потоки. Какими единицами оперируют ядра и потоки, - процессами?

Если php или java приложение работает в одном процессе, оно может выполняться на нескольких ядрах и потоках? Есть ли смысл брать процессор 6 ядер (12 потоков), вместо 4(4)?
Аноним 31/07/17 Пнд 22:27:01  1035150
>>1035147
Ядро - это физическая единица, поток - логическая. С помощью разных ухищрений разработчики могут упихать команды в одно ядро так, чтобы оно исполняло команды в два потока быстрее, чем в один (но в каждом потоке будет медленнее).
Обычно делают два потока на ядро, в Ксеон Фи 6 потоков на ядро.
>Если php или java приложение
Пошёл нахуй. Тут мёдом намазано? Как вы находите именно этот тред для своих уёбищных вопросов?
Аноним 31/07/17 Пнд 22:38:30  1035162
>>1035150
Все что ты написал понятно и ребенку, не нужно мне пересказывать вики. Чем оперируют ядра и потоки ты не назвал, и можно ли параллелить один процесс на несколько ядер и потоков, тоже не ответил.
Аноним 31/07/17 Пнд 22:58:34  1035189
>>1035162
Процесс может иметь несколько потоков, почти все ОС разносят потоки по логическим ядрам. Если твоё говно работает в несколько потоков (ГЦ, например, в отдельном потоке или внутри программы есть создание потоков), то смысл есть.
Аноним 31/07/17 Пнд 23:11:32  1035199
>>1035189
Спасибо за вменяемый ответ. Получается с ядрами работает ОС, с потоками ядер процессор уже сам? Собственно выбираю процессор между i5-7600K и Ryzen 5 1600. В райзене 6 ядер и 12 потоков, против 4 и 4 у интел. Поэтому возникла дилемма выбора, смогут ли большинство программ использовать много ядер, или же стоит выбрать высокую производительность в однопоточных задачах.
Аноним 31/07/17 Пнд 23:16:12  1035203
>>1035199
Либо пиши про свои ядра в контексте программирования на c++, либо пиздуй в /hw.
Аноним 31/07/17 Пнд 23:23:13  1035206
>>1035203
Там никто не шарит. Поэтому здесь спрашиваю. У меня есть путаница в голове, потоки на уровне ядра, потоки на уровне ОС, процессы, threads, fibers, actors, поток выполнения,конкурентность, параллелизм, и т.п, все это смешалось у меня в голове. Еще интерпретаторы и виртуальные машины, у них свои единицы выполнения, они же тоже как-то ложатся на процессы и потоки ОС.
Аноним 31/07/17 Пнд 23:25:42  1035210
>>1035206
А с чего ты взял что здесь "шарят"? Мы тут сремся за ide и не можем компилять хелоуворлды. Тут тебе спрашивать не чего.
Аноним # OP  31/07/17 Пнд 23:41:30  1035230
Когда стехи?
Аноним 31/07/17 Пнд 23:43:32  1035232
>>1035210
Печально всё это. Никто не пытается понять общую картину получается. Джависты пишут под JMV и не знают, что происходит вне её. Кто пишет на C/C++, знает только как что работает в контексте C/C++. Джаваскриптеры вообще не имеют понятия о многих вещах, потому что этого нет в языке и в V8. Рубисты не знают о конкурентности и параллелизме ровным счетом ничего. На винде свои абстракции, на линуксе свои. У всех свои абстракции, и их так много, что можно ногу сломать.
Аноним 31/07/17 Пнд 23:43:42  1035233
>>1035206
Таненбаума читай иди, хрюря пампукская
Аноним 31/07/17 Пнд 23:47:38  1035237
>>1035232
А у тебя нет выбора, умник. Рулить тредами все равно будет менеджер ОС. И выделять процессорное время им, когда посчитает нужным.
Аноним 31/07/17 Пнд 23:49:33  1035239
Кто-нибудь подскажите, что я делаю не так?
Аноним 31/07/17 Пнд 23:51:49  1035240
>>1035239
Если переместить реализацию конструктора Bar в bar.h, то всё компилируется
Аноним 31/07/17 Пнд 23:52:42  1035241
>>1035239
Думаю, Bar пытается после своего деструктора выбвадь деструктор Foo, но не может, так как ты его не реализовал.
Аноним 31/07/17 Пнд 23:55:24  1035244
>>1035239
У виртуального деструктора в любом случае должно быть тело, даже если он чисто виртуальный.
Аноним 31/07/17 Пнд 23:57:29  1035247
2017-08-0103-56[...].png (10Кб, 450x353)
>>1035244
Аноним 31/07/17 Пнд 23:58:12  1035248
>>1035247
Стандарт запрещает тело после = 0, выноси в .cpp.
Аноним 31/07/17 Пнд 23:58:18  1035249
>>1035247
лол.
Аноним 31/07/17 Пнд 23:59:51  1035250
>>1035248
А не лучше объявление прям там сделать?
типа Foo::~Foo() {}
Аноним 01/08/17 Втр 00:00:34  1035253
>>1035250
или =0 или { }. Стандарт носит не рекомендательный а обязательный характер.
Аноним 01/08/17 Втр 00:01:38  1035255
>>1035247
https://habrahabr.ru/post/51398/

>>1035253
Вне класса же. Я хедер имел ввиду

class Sample {
public:
virtual ~Sample()=0;
};

Sample::~Sample() {
}
Аноним 01/08/17 Втр 00:09:51  1035257
2017-08-0104-01[...].png (37Кб, 1022x580)
2017-08-0104-03[...].png (13Кб, 880x394)
2017-08-0104-05[...].png (55Кб, 1164x615)
>>1035248
Пиздец какой-то. Теперь новая срань пикрил 3.
Студия без проблем жрёт варианты и без тела деструктора и с телом после = 0;

Но тогда ещё вопрос
Аноним 01/08/17 Втр 00:10:23  1035258
>>1035257
Но тогда ещё вопрос
быстрофикс
Аноним 01/08/17 Втр 00:12:33  1035259
>>1035257
В глаза ебусь, у Bar забыл конструктор.
Всё работает, благодарю
Аноним 01/08/17 Втр 00:12:53  1035261
>>1035257
Может ты забыл реализовать деструктор Bar?
Аноним 01/08/17 Втр 00:13:11  1035262
>>1035259
Деструктор
опять быстрофикс
Аноним 01/08/17 Втр 00:13:59  1035263
>>1035255
Нельзя, odr поломается. Объектники компилятся независимо, гарды на хедер не помогут. Линкер сообщит об одинаковых символах.

>>1035257
Студия имеет воз и маленькую тележку послаблений в плане стандарта, особенно по референсам и шаблонам. Чтобы их отключить раньше флажок был -Ze
Аноним 01/08/17 Втр 00:18:20  1035267
2017-08-0104-14[...].png (31Кб, 1131x860)
Так, а почему тогда если всё вынести в хидеры он компилирует без тела деструктора для Foo?
Аноним 01/08/17 Втр 00:20:06  1035269
>>1035232
>>1035206
Берёшь Process Explorer или другую тулзу для твоей ОС и смотришь активность потоков. Если у тебя один на 100% одного ядра - жопа. Если у тебя много с сопоставимой загрузкой - уже лучше. Берёшь свой php, java и запускаешь и пробуешь.
>>1035239
Ты запрещаешь существование деструктора для базового класса и потом другой класс от него наследует. Такого быть не может, деструктор должен быть всегда.
http://ideone.com/5wjvrN
Вот сообщения от GCC.
Аноним 01/08/17 Втр 00:20:16  1035270
>>1035267
А он используется?
Аноним 01/08/17 Втр 00:22:21  1035273
>>1035270
А, действительно. Совсем забыл
Всё ещё раз благодарю за помощь
Аноним 01/08/17 Втр 00:22:23  1035274
>>1035269
>Ты запрещаешь существование деструктора для базового класса
Нет, это просто чисто виртуальный деструктор. Его нужно реализовать в наследнике, но это не значит, что его вообще нет.
Аноним 01/08/17 Втр 00:22:32  1035275
>>1035267
Можешь считать это багом студии.
Аноним 01/08/17 Втр 00:24:42  1035279
>>1035273
Обращайс.
Аноним 01/08/17 Втр 00:33:44  1035282
>>1035275
Блет, это не студия.
>>1035274
>>1035273
>>1035270
Извиняюсь, но теперь я не понял. То, что он должен быть определён в наследнике - понятно, но почему перенос КОНСТРУКТОРА в другую единицу компиляции что-то меняет?
Аноним 01/08/17 Втр 00:35:06  1035283
>>1035282
Перенос конструктора ни на что не повлиял.
Аноним 01/08/17 Втр 00:38:34  1035286
>>1035283
-->>1035240
-->>1035267
Аноним 01/08/17 Втр 00:41:46  1035287
>>1035286
1. Судя по всему у класса было 0 единиц трансляции (см. 2).
2.
Во втором случае была ошибка: автор перестал использовать класс foo, а отслеживание корректности неиспользуемых функций не требующих диагностики (т.е. не завязанных на инстанциацию) - оставлены на откуп реализации компилятора. MinGW/GCC во многих случаях не считают это ошибкой.
Аноним 01/08/17 Втр 00:58:16  1035292
>>1035287
Правда ли то, что без реализации деструкторов всех классов в иерархии нельзя использовать класс (т.е. определить его)?
Аноним 01/08/17 Втр 01:09:36  1035294
>>1035292
Да.
Аноним 01/08/17 Втр 01:09:57  1035295
>>1035292
Да.
Аноним 01/08/17 Втр 13:33:59  1035440
Сап анон. Есть ли тут, кто занимается open source проектами? Какой уровень знании требуется для участия в них?
Веб макака, которая перекатывается в плюсы.
Аноним 01/08/17 Втр 14:04:21  1035449
>>1035440
> Какой уровень знании требуется для участия в них?
Выше твоего, не умеющая гуглить амеба.
Аноним 01/08/17 Втр 14:04:56  1035450
>>1035440
Для участия в opensource-проектах (дефис, блядь, это русский язык) нужны разные уровни знаний. Во многих продуктах велика доля кода уровня C. Если ты никогда в жизни этим не интересовался, ты сломаешь лицом сто граблей и прочитаешь несколько книг перед тем, как начнёшь писать надёжный код.
Аноним 01/08/17 Втр 17:49:59  1035570
Блять, хотел взять QT и пилить свою недостратежку, не осилил даже настройку Креатора. Пойду теперь пытаться для обычных Си найти аналогичную либу. Не на винапи же писать, в самом-то деле. Выглядеть будет хуево
Аноним 01/08/17 Втр 17:53:20  1035573
>>1035570
Че за хуйню ты выдумал? Возьми юнити или другое говно для умственно отсталых.
Аноним 01/08/17 Втр 17:56:34  1035576
>>1035573
Я слишком отсталый, чтобы осилить C#.
Аноним 01/08/17 Втр 17:57:34  1035578
>>1035570
Нахуй писать недостратежку на Qt? Возьми sdl, sfml, что угодно.
Аноним 01/08/17 Втр 17:59:19  1035580
>>1035578
Есть подозрение, что я не осилю реализацию интерфейса. Но вариант хороший, да.
Аноним 01/08/17 Втр 17:59:25  1035581
>>1035578
Лучше Python+Kivy
Аноним 01/08/17 Втр 18:02:11  1035583
516MZGNZMGL.SX3[...].jpg (43Кб, 316x474)
>>1035580
Для тебя даже книжку написали, про недостратежки.
Аноним 01/08/17 Втр 18:22:44  1035598
>>1035576
Смочь в ресты/си и не смочь в шарп? Это тип толстота такая?
Аноним 01/08/17 Втр 19:11:42  1035643
Чтобы инициализировать контекст тебе достаточно будет GLFW и GLEW в нему в придачу (хотя последнее не понадобится, если ты некрофил), для аудио используй OpenAL, например. API у них схожий, насколько я понимаю, так что это не вызовет бугурта при переходе от одного к другому (а если ты белый человек, то вместо того, чтобы делать постоянные вызовы:
glGenTextures
glBindTexture
glTexStorage2D
glTexImage2D
...
ты завернешь в какие-нибудь свои вызовы), ну и там еще дохуя либ потянется.
Действительно, проще использовать Qt.
Аноним 01/08/17 Втр 19:12:32  1035644
>>1035583
>нет русека
Аноним 01/08/17 Втр 19:14:14  1035645
>>1035643
>ты завернешь в какие-нибудь свои вызовы
По хорошему, под это дело нужно свои менеджеры писать, а для этого нужно представлять как будет выглядеть архитектура движка. А это уже довольно сложно.
Аноним 01/08/17 Втр 19:26:11  1035655
>>1035644
Есть же.
Аноним 01/08/17 Втр 19:45:59  1035669
>>1035645
В этом то и дело. Если начинать проектировать приложение без представления хотя бы общего вида архитектуры, в конечном счете все это выльется в дикий рефакторинг и расхочется работать дальше или все будет переделываться заново.
Аноним 01/08/17 Втр 22:40:38  1035779
noname.PNG (2Кб, 464x78)
Что означают такие функции? У которых в аргументах есть тип, но нет имени переменной?
Аноним 01/08/17 Втр 22:43:37  1035780
>>1035779
Переменная есть, только её имя не называется в предварительном объявлении. Означают то же самое, что и те, в которых есть названия параметров.
Аноним 01/08/17 Втр 22:45:03  1035783
>>1035780
Спасибо!
Аноним 02/08/17 Срд 03:34:20  1035873
>>1035780
Зачем в функцию передавать аргумент, если к нему нельзя обратиться?
Аноним 02/08/17 Срд 04:28:40  1035876
>>1035873
Почему нельзя? К нему обратиться можно, просто это предварительное объявление (forward declaration), а сама функция находится где-то далеко в другом месте, и, возможно, к ней даже нет исходников, и она в какой-нибудь библиотеке, скажем. А для обращения к ней имена параметров знать не нужно, нужно знать только их типы.
Аноним 02/08/17 Срд 04:38:30  1035877
>>1035779
>Что означают такие функции? У которых в аргументах есть тип, но нет имени переменной?
Ещё и тела нет. Совсем ппц. >_<
Аноним 02/08/17 Срд 04:41:19  1035878
>>1035877
Жил один рыжий человек, у которого не было глаз и ушей. У него не было и волос, так что рыжим его называли условно.
Говорить он не мог, так как у него не было рта. Носа тоже у него не было.
У него не было даже рук и ног. И живота у него не было, и спины у него не было, и хребта у него не было, и никаких внутренностей у него не было. Ничего не было! Так что не понятно, о ком идет речь.
Уж лучше мы о нём не будем больше говорить.
Аноним 02/08/17 Срд 05:01:07  1035879
>>1035877
Это скомпилируется, но не слинкуется.
Аноним 02/08/17 Срд 11:04:59  1035987
>>1035779
Это прототип функции append, который получает в качестве аргумента адрес Foo
Аноним 02/08/17 Срд 11:15:02  1035994
>>1028315
Vim
Аноним 02/08/17 Срд 11:31:17  1036002
>>1028315
Atom и миллион плагинов для разработки, сборки, дебага и прочей хуйни
Аноним 02/08/17 Срд 12:10:44  1036015
>>1030251
пишешь простецкий make-файл и всё
по сути каждый cpp файл компилируется в объектные файлы, потом эти объектные файлы уже линкуются в исполняемый файл
Аноним 02/08/17 Срд 12:20:10  1036021
>>1033256
Как ты ее закомпилил? А то я что-то гайды читал-читал, глядел-глядел, нихрена не понял. Все гайды какие-то древние, какие-то еще на 4 версию, какие-то на 5 с начала. Теперь надо качнуть все ихсодники самому с их сайта, куда-то, блядь, распковать, чего-то делать, ничего не пойму.
Аноним 02/08/17 Срд 12:21:03  1036022
>>1033256
Сильно ли, кстати, размер исполняемого файла в конце стал меньше, чем было бы обычной Qt - когда файл исполняется только c десятками DLL
Аноним 02/08/17 Срд 15:00:48  1036087
>>1036021
К стыду, не я её не билдил, кутя корпоративная, так что работаю стем что выдали.
>>1036022
Меньше при статической линковке? Это как? Наоборот размер увеличился. У меня, с ядром, виджетами, сетью + платформенные либы экзешник весит 40-50 метров.
Аноним 02/08/17 Срд 15:02:45  1036088
>>1036087
>Меньше при статической линковке? Это как?
Размер DLL-либ просуммировал?
Аноним 02/08/17 Срд 17:30:08  1036181
>>1028033 (OP)
В крудошлепной программе у меня есть классы Employee, Manager и Sales, на которые я отображаю таблицы БД. При создании экземпляров этих классов в фабрике мне надо убедиться, что сотрудник с данным id имеет определенную должность, для этого я делаю выборку position из БД для id сотрудника и сравниваю ее со строкой, в которой хранится название позиции. А где мне хранить саму эту строку? В constexpr поле классов сотрудников?
Аноним 02/08/17 Срд 17:38:09  1036186
>>1036181
Если эта строка никогда-никогда не будет меняться - да. Причём твоём случае разницы между constexpr и const нет.
Аноним 02/08/17 Срд 18:52:55  1036243
>>1036181
В constexpr ты не можешь создать объект, данные которого аллоцируются в реальном времени, std::string к таким относится. Так что твой constexpr мало того, что будет бестолковым, так еще и вывалит ошибок при компиляции. Более того, так как должности получаются выборкой из базы данных (я так понимаю, они нихуя не захардкожены), то constexpr работать не будет, потому что это ключевое слово для оптимизаций времени компиляции, когда часть работы по определению значений можно доверить компилятору.
Аноним 02/08/17 Срд 19:07:43  1036249
>>1036181
На пальцах:
-- constexpr значит, что ты знаешь значение переменной во время компиляции, она литерал, а литералы ты менять не можешь, что похоже на const -- отсюда путаница.
-- const означает немутабельность, неизменяемость куска памяти после инициализации, но ты можешь и не знать что там будет лежать во время компиляции.
Аноним 02/08/17 Срд 19:13:27  1036250
>>1035987
Нет.
Аноним 02/08/17 Срд 19:52:30  1036263
>>1035876
Я думал что объявление должно быть 1 в 1 как в реализации, включая имена аргументов. Спасибо анончик.
Аноним 02/08/17 Срд 19:55:05  1036267
>>1036088
Вопрос же был именно про исполняемый файл)
Проверил на текущей проге:
Статик: 34.6 МБ.
Динамик: 40.0 МБ (windeployqt.exe), 32.3 МБ (windeployqt.exe --release --no-translations --no-quick-import --no-system-d3d-compiler --no-compiler-runtime --no-angle) и 31.9 МБ (вручную, минимум на моей машине).
Как по мне, так несущественные различия.
Аноним 02/08/17 Срд 19:59:51  1036270
>>1028033 (OP)
Куда ОП-стихописец делся?
Аноним 02/08/17 Срд 20:01:44  1036275
Умеет ли cmake создавать Makefile сразу с двумя таргетами - Debug и Release, или каждый раз нужно всё вычищать и заново пересобирать с -DCMAKE_BUILD_TYPE=TARGET?
Аноним 02/08/17 Срд 20:04:18  1036277
>>1036267
Ты инклудишь модули целиком? Компилятор выбрасывает неисользуемые функции? (не помню, какой параметр этим управляет)
Аноним 02/08/17 Срд 21:16:01  1036305
>>1036250
Я пытался, лол. А что это тогда?
Аноним 02/08/17 Срд 21:22:14  1036311
>>1036305
Ты перепутал указатель (адрес?) со ссылкой.
Аноним 02/08/17 Срд 21:28:07  1036313
>>1028033 (OP)
На Coursera появился годный, как по мне, курс от Яндекса и МФТИ для вкатывающихся, наверное стоит добавить в шапку
Аноним 02/08/17 Срд 22:02:27  1036341
>>1036277
Да, инклюжу целиком, в прекомпайлд хидер, компилер выбрасывает неиспользуемые функции По крайней мере флаг стоит. Когда убираю размер на 4 МБ увеличивается
Аноним 02/08/17 Срд 22:06:11  1036346
Идиотский вопрос, но. Есть ли оврехед на каст сырых указателей?
Например есть uint8_tptr и несколько вложенных циклов, где внутри шняга вроде ((uint32_t)(ptr))[j]. Должен я кастануть его до циклов или можно не париться, лишнего ассемблерного кода сгенерено не будет?
Аноним 02/08/17 Срд 22:07:44  1036351
>>1036346
звездочки проебались
Аноним 02/08/17 Срд 22:21:19  1036364
В чём смысл сигналов в QT если можно использовать события? Они, к тому же, еще и более быстрые, нсколько я понял.
Аноним 02/08/17 Срд 22:23:16  1036366
>>1036364
Передавать данные.
Аноним 02/08/17 Срд 22:26:35  1036371
>>1036366
Ок! Чёт я задвачевался.
Аноним 02/08/17 Срд 22:38:18  1036388
>>1036311
Сейчас тут напишут про то, что ссылка это просто разыменованный указатель (или ещё какую подобную чушь) и начнётся срач.
Аноним 02/08/17 Срд 22:48:06  1036397
>>1036346
>лишнего ассемблерного кода сгенерено не будет?
Не должно. Но сама идея херовая, очень легко можно вылететь за границу массива. И с переносимостью косяк, на некоторых платформах (MIPS например) многобайтовые значения должны лежать только с определенным выравниванием.
Аноним 03/08/17 Чтв 00:22:55  1036477
>>1036397
Насколько херовая? Допустим мне нужна структура из данных, состав которой неизвестен на этапе компиляции. Как вообще подобная задача решается на плюсах?
Аноним 03/08/17 Чтв 00:24:42  1036479
>>1036477
> мне нужна структура из данных, состав которой неизвестен на этапе компиляции. Как вообще подобная задача решается на плюсах?

Конечно же созданием программы, код которой не известен на этапе компиляции.
Аноним 03/08/17 Чтв 00:36:16  1036486
>>1036477
[bold]STD::VARIANT
@
STD::ANY[/bold]
Аноним 03/08/17 Чтв 02:51:46  1036523
Как вы живете с тем, что обосцаная жава быстрее вашего бегемота?
Аноним 03/08/17 Чтв 03:11:18  1036527
>>1036523
Смогли создать тест в котором джава обогнала кресты? Тащи.
Аноним 03/08/17 Чтв 10:26:08  1036620
>>1035779
Это прототип функции, в прототипах функций можно не писать имена формальных аргументов, так как у них локальная область видимости, никто о них не знает за границами блока, в прототипах граница блока заканчивается за скобками прототипа.
Когда будешь писать определение функции имя формального аргумента понадобится, в прототипе можно забить.
В данном случае передается формальный аргумент ссылка.
Аноним 03/08/17 Чтв 12:08:41  1036676
ПЕРЕКОТ
https://2ch.hk/pr/res/1036675.html
https://2ch.hk/pr/res/1036675.html
https://2ch.hk/pr/res/1036675.html
Аноним 03/08/17 Чтв 18:13:02  1037030
>>1036527
>Смогли создать тест в котором джава обогнала кресты?
Это не возможно, т.к. в С++ всегда можно начать использовать только сабсет си + инлайн ассемблер и подебить в любом тесте.
Аноним 09/08/17 Срд 17:44:00  1041488
>>1029001
Зачем нужно что-то кроме стандартной библиотеки для мультитрединга и Boost для сети, файлов и всего остального? Буст же отличная обёртка и над сетевыми функциями, и над прочим.

мимонуб
Аноним 13/08/17 Вск 08:50:44  1043543
просто бамп
Аноним 20/08/17 Вск 00:55:05  1047131
Capture.PNG (6Кб, 264x271)
Capture.PNG (1Кб, 159x105)
>>1028033 (OP)
Аноним 20/08/17 Вск 00:56:18  1047132
>>1047131
Чяднят?

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 504 | 37 | 147
Назад Вверх Каталог Обновить

Топ тредов
Избранное