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

02/12/16 - Конкурс визуальных новелл доски /ruvn/
15/11/16 - **НОВЫЙ ФУНКЦИОНАЛ** - Стикеры
09/10/16 - Открыта доска /int/ - International, давайте расскажем о ней!

Check this out!


Новые доски: /2d/ - Аниме/Беседка • /wwe/ - WorldWide Wrestling Universe • /ch/ - Чатики и конфочки • /int/ - International • /ruvn/ - Российские визуальные новеллы • /math/ - Математика • Создай свою

[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 697 | 60 | 202
Назад Вниз Каталог Обновить

Новогодний™ праздный® C++ тред #46 Аноним 31/12/16 Суб 18:09:57  904165  
no-translate-de[...].jpg (219Кб, 626x626)
YlRJfQX.png (296Кб, 853x586)
14830220978130.jpg (724Кб, 1146x938)
2016-08-17-1471[...].jpg (156Кб, 552x334)
Под покровом ночи звездной
Дремлет код крестовый;
Весь рантайм и все баги
Белым снегом замело…
И шаблоны там, по коду,
В семь гигов при компиляции
Поджигают ваш пукан.
На огонь бежит сугробом
Со звездой толпа нюфагов,
Под оконцами стучатся,
И «Слава Бьярне» напевают.
«Крестобляди! Крестобляди!»
Раздается там и тут.
И в нестройном блядском хоре
Так таинственна, чиста,
Так отрадна весть святая
О рождении стандарта…

Шапка: https://github.com/sosachbot/cppthreadhat/wiki
Прошлый: https://2ch.hk/pr/res/892147.html
Аноним 31/12/16 Суб 18:31:53  904177
bits.png (217Кб, 447x666)
Не тонем.
Аноним 31/12/16 Суб 18:41:18  904181
Нелегитимный.
Аноним 31/12/16 Суб 19:07:52  904184
Подскажите, с чего начать изучение С++?
Алсо, знания javascript будет ли обеспечивать какой-то плюс в изучении?
Аноним 31/12/16 Суб 19:13:23  904185
>>904184
С того чтоб сесть и подумать надо ли оно тебе.
Аноним 31/12/16 Суб 19:37:01  904190
Ваша зарплата, динозавры.
Аноним 31/12/16 Суб 19:43:22  904192
>>904190
1200 рублей
Аноним 31/12/16 Суб 19:52:52  904194
Есть какие-то гайды, что нужно знать джуну на собеседовании(в приличную компанию)?
https://habrahabr.ru/post/117996/
Вот это изи.
Но нужно что-то поновее
Аноним 31/12/16 Суб 20:07:48  904196
>>904194
Саттера
Аноним 31/12/16 Суб 20:33:38  904202
>>904196
Есть вроде такого, но с с++11\14?
Аноним 31/12/16 Суб 20:57:49  904211
>>904202
Последние книги Саттера, лол. К тебя осталось мало времени, скоро новый стандарт выйдет, и будешь его драфты зубрить, так что поспеши.
Аноним 31/12/16 Суб 21:01:23  904212
Пойдёт ли Страуструп для начинающего в С++ веб-макакера? Или лучше выбрать другую книгу?
Аноним 31/12/16 Суб 23:43:43  904256
>>904212
Выбири Дваву
Аноним 01/01/17 Вск 01:42:09  904269
>>904181
>урюрю
Аноним 02/01/17 Пнд 10:53:37  904604
Буль
Аноним 02/01/17 Пнд 15:34:13  904681
>>904212
>лучше выбрать другую книгу
Аноним 02/01/17 Пнд 16:11:21  904695
День добрый!
Посоветуйте альтернативу libevent для написания простейшего http-сервера на C++ (libevent как я понял не дружит с win х64, что меня не устраивает).
Есть еще libuv и libеv, но там вроде бы "из коробки" в 10 строчек кода веб-сервер не запустишь - нужно писать свои велики.
Есть что-то еще?
Аноним 02/01/17 Пнд 16:19:12  904699
>>904695
Он почти в 10 строк пишется и на сокетах/epoll/kqueue.

Именно из плюсовых — boost.asio (очень многословно и оверинжинирнуто), casablanca (очень няшно, на последних плюсах, советую), ещё какой нибудь libsocket.
Аноним 02/01/17 Пнд 16:29:06  904702
>>904695
>libevent как я понял не дружит с win х64
Что именно не дружит? У меня конпелировалось и работало в x64.
Аноним 02/01/17 Пнд 16:33:57  904704
>>904695
Адекватного и такого же минималистичного нету. Я использовал для подобных задач libev.
Аноним 02/01/17 Пнд 17:11:06  904718
>>904165 (OP)
1 то что сети нет - это не баг, а фича
2 модули у силанга и студии есть.
3 корутины давно уже есть.
Аноним 02/01/17 Пнд 17:32:01  904724
>>904190
5000 рублей в месяц и талоны в столовку
завтра вот пюрешка с сосисками будет :3
Аноним 02/01/17 Пнд 18:19:22  904737
Нужно в map как значение хранить несколько типов(int и string). Как это провернуть?
Аноним 02/01/17 Пнд 18:36:34  904746
Безымянный.png (65Кб, 1275x752)
Почему зарезервированное место памятью массива, пусть даже и неиспользованное хранится на жестком диске, а не в оперативной памяти? Размер выходящего файла при таком коде - 93мб.
Аноним 02/01/17 Пнд 19:05:14  904754
>>904746
Некоторые компиляторы записывают нулевые байты в исполняемый файл. Вот и причина такого размера.
Пример: шланг 3.5 https://godbolt.org/g/gFRcuK
гсс 5.1: https://godbolt.org/g/GvQwBZ
Аноним 02/01/17 Пнд 19:07:09  904755
>>904746
>>Long int

Да?
Аноним 02/01/17 Пнд 19:41:59  904771
>>904699
>>904702
>>904704
Плюнул на использование либ. Взял за основу пример на сокетах
https://code-live.ru/post/cpp-http-server-over-sockets/
В чем я сосну?
Аноним 02/01/17 Пнд 19:49:19  904774
>>904746
У тебя же данные которые должны сохранятся между запусками программы. Следовательно они должны быть записаны в сегменте данных. Дальше зависит от оптимизаций компилятора. Твой вариант - оптимизирована скорость запуска за счет размера программы (в статической памяти хранится полностью весь массив в "готовом" состоянии). В одном из вариантов продемонстрированным аноном выше оптимизирован размер программы за счет скорости запуска - хранится только имеющая смысл часть массива (нулевые байты отброшены), а полностью массив будет создан и подготовлен уже в рантайме.
Аноним 02/01/17 Пнд 20:07:05  904781
>>904774
>>Твой вариант - оптимизирована скорость запуска за счет размера программы (в статической памяти хранится полностью весь массив в "готовом" состоянии)

Я конечно новичок и писать программы толком не умею, но с каких это пор копирование в памяти стало более медленным чем чтение с диска?

>>сохранятся

Хотя всё ясно
Аноним 02/01/17 Пнд 21:16:02  904814
>>904718
Ты дурак? Зачем ты эту хуйню пишешь?
Аноним 02/01/17 Пнд 23:00:29  904858
>>904771
Во всём. По жизни.
Аноним 02/01/17 Пнд 23:46:41  904875
>>904211
А что у него достойного, кроме 2 exceptional книг?
Аноним 03/01/17 Втр 00:06:03  904887
>>904774
>>904755
>>904754
Я вернулся. Так вот еще чего могу добавить. Это случается, когда я делаю двумерный массив. То есть с обычным такого не происходит. Все равно, спасибо за ваши версии)
Аноним 03/01/17 Втр 01:56:24  904928
>>904875
Все.
Аноним 03/01/17 Втр 02:00:48  904931
>>904771
Какая связь? libevent это про обработку событий, а не про сокеты.
Аноним 03/01/17 Втр 05:28:43  904952
>>904887
Это случается не из-за того что ты делаешь двумерный массив. Это случается из-за того, что ты образуешь огромный литерал задавая первые его элемент.

Когда ты напишешь char value[max] = { 'a', 'b', 'c' } размер файла будет пропорционально велик. Дело в том, что задавая таким образом массив ты говоришь: хочу литерал, первые три байта которого - 'a', 'b', 'c', остальное заполните нулями. Это будет статический блок памяти, который должен быть загружен при запуске программы. Храниться он в data-блоке.
https://en.wikipedia.org/wiki/Data_segment
Аноним 03/01/17 Втр 12:33:00  905036
Есть некий банковский софт на джаве, насколько есть смысл его переписывания на С++ и переезд на опенсоурс стек? Вывод интерфейсов нужен на веб и гуй. В результате перехода понизится стоимость поддержки, т.к. стоимость джависта и С++ разные, тем более ничего изобретать не нужно будет после переписывания, мелкие изменения и дополнения. На порядок повысится производительность системы. Интересно что скажете по делу.
Аноним 03/01/17 Втр 12:35:44  905040
Теперь понял. Спасибо за объяснение.
Аноним 03/01/17 Втр 12:40:48  905042
>>905036
С плюсовиками которые будут стоить меньше джавистов перформанс только упадет, из каждой пизды будут лезть баги и скорость разработки упадет ниже твоего айсикью.
Аноним 03/01/17 Втр 12:57:21  905052
>>905042
>из каждой пизды будут лезть баги
проблема пиздотечей все еще так остро стоит?
Аноним 03/01/17 Втр 13:01:54  905055
>>905052
Когда ты набираешь лоу квалифаед шит готовый работать за еду и твой язык не подтирает им зад — это вообще меньшая из проблем, учитывая что раньше все работало на жаве и рамы хоть жопой жри.
Аноним 03/01/17 Втр 13:09:26  905060
>>905055
>лоу квалифаед шит готовый работать за еду
кто сказал что за еду?
Аноним 03/01/17 Втр 13:17:06  905066
>>905060
Ну, ты же на полном серьезе считаешь что стоимость программиста зависит от языка, а не решаемых задач, и что плюсовики обойдутся дешевле. Так вот те что обойдутся дешевле — никогда не отобьют даже сотой части денег вложенной в ту же жвм, которая тебе достается халявно.
Аноним 03/01/17 Втр 13:44:11  905086
>>905060
Потому что под нижней планке зарплаты работать пойдут разве что байтоебы с заводов (та самая часть рынка плюсов, которая опускает показатель средней зп), у которых развитие остановилось на "ой бля битмаска битмаска не выровнять сука блять блять классы это оверхед нахуй rtti я все наебашу на юнионах всего-то за пару дней".
Аноним 03/01/17 Втр 14:12:53  905100
>>905036
Учитывая популярность джавы я сильно сомневаюсь, что джавист дороже равного по скилу плюсовика. Рыночек насыщен.
Аноним 03/01/17 Втр 17:44:15  905249
>>905036
>банковский софт
>транзакции, базы, CGI, веб, хуеб
>c++
Чтобы это работало и не рассыпалось придется искать плюсовиков значимо более дороже средних жава-сеньеров. Плохая затея. Но перфоманс вырастет, да, в теории.
Аноним 04/01/17 Срд 14:36:36  905757
Анончики, такой вопрос встал. Уже достаточно долгое время упарываюсь программированием на крестах на работе, естественно, окромя СТЛ наигрался уже с кучей фреймворков, но, мне кажется, что меня эта рутина уже конкретно доебала. Думаю начать оттачивать архитектурные навыки (ну знаете, архитектура программного обеспечения и все такое, молодое направление и вся хуйня). Стоит ли оно того, анончики, или нет. Я понимаю, всяко эта хренотень впоследствии окажется полезной (рассматривать структуру ПО сверху, уже прикидывать что и какой "скелет" (слеш) паттерн можно применить), но стоит ли в нее прямо таки упарываться (читать хуевы кучи книг и разбирать примеры), или все-таки это лажа в роисси мало популярная?
Аноним 04/01/17 Срд 15:57:43  905811
>>905757
> архитектура программного обеспечения и все такое, молодое направление и вся хуйня
С каких пор оно молодое? Думаю стоит почитать банду четырех, рядовому программисту точно пригодится, проектировщику наверное тоже.
На счет популярности профессии не скажу, в крупных компаниях с большими проектами точно есть.
Аноним 04/01/17 Срд 18:20:50  905900
>>904695
хули вы сразу асинхронку пишите когда вам нужен "простейший" http сервер
вам же не осилить это говно
Аноним 05/01/17 Чтв 00:26:30  906205
Анон, установил Mingw, например: *.cpp у меня находится в C:\folder, это мне нужно в консоле путь прописывать? А как в линукс? просто в директории /houm сырцы оставлять? или тоже прописывать путь? Подскажите книгу чтобы в ней про Gcc ключи и про утилиту make можно было почитать, на русском
Аноним 05/01/17 Чтв 01:35:17  906244
>>904695
asio
Аноним 05/01/17 Чтв 05:21:47  906278
>>905811
Про паттерны начитался уже, в том числе эту книгу тоже. Думаю, грызть или нет уже более специфичные области проектирования (конкретно разбиение на системы, подсистемы, виды, документирование и прочее и прочее), несмотря на то, что это полезно в любом случае, не хотелось бы тратить свое время впустую.
Аноним 05/01/17 Чтв 09:38:32  906312
>>906205
На линуксе тебе никаких MINGW устанавливать не нужно. Там GCC и G++ идут по дефолту при установке. В том же /home. создаёшь папку, например ~/home/workspace/cpp. Далее выбираешь в консоли эту папку (необязательно, но удобно), на Ubuntu команда cd /workspace/cpp. И компилируешь g++ main.cpp
Аноним 05/01/17 Чтв 10:42:39  906325
>>906205
Не слушай этого >>906312, он пиздит. Либо специально, либо нихуя не знает.
Аноним 05/01/17 Чтв 10:53:10  906329
>>906312
>>906325
Разобрался, в основном встречал gcc, интуиция подсказывает использовать его
Аноним 05/01/17 Чтв 10:57:59  906331
>>906329
Хотя Торвальдс критиковал версию 4,9, на линуксе стоит 4,9,2 на винде 5,3, вот если можно было обновить в линуксе до более новой версии как например youtube-dl -U, было бы здорово
Аноним 05/01/17 Чтв 11:00:39  906332
>>906331
Пиздец, как ты в линукс забрался с неумением компилировать. Там тебе достаточно один аргумент указать при конфигурации (а именно --prefix, чтобы не серануть мимо) и собрать гусей. Что может быть сложнее-то?!
Аноним 05/01/17 Чтв 11:10:28  906334
>>906331
> на линуксе стоит 4,9,2
Поставь себе дистрибутив посвежéе.
Аноним 05/01/17 Чтв 13:10:13  906359
situation.png (129Кб, 1120x831)
2 вопроса.
Вопрос первый: слева на картинке 2 ситуации. Почему ситуация Б легальна, а ситуация А уже сообщает об ошибке памяти. Я попробовал сделать new int [26], тогда максимальное число значений массива стало 29. Компилятор gсс/g++.
Второй вопрос: можно ли другим способом динамично добавлять объекты во время работы программы? То чем я сейчас пользуюсь на картинке справа.
Аноним 05/01/17 Чтв 13:22:12  906365
>>906359
Ужас какой-то. Используй std::vector например
Аноним 05/01/17 Чтв 13:24:27  906366
>>906365
Я по книжке учусь, векторы после new и delete идут. Вроде говорят, что векторы умнее массивов, но я пока с ними даже не сталкивался.
Аноним 05/01/17 Чтв 13:34:21  906371
>>906366
А вот про ситуации А и Б можно тут почитать http://ru.stackoverflow.com/questions/297649/%D0%9C%D0%B0%D1%81%D1%81%D0%B8%D0%B2%D1%8B-%D0%BD%D1%83%D0%BB%D0%B5%D0%B2%D0%BE%D0%B9-%D0%B4%D0%BB%D0%B8%D0%BD%D1%8B
Аноним 05/01/17 Чтв 13:50:01  906375
>>906371
Спасибо. Проверю другим компилятором.
Аноним 05/01/17 Чтв 14:42:17  906413
>>906359
>Почему ситуация Б легальна, а ситуация А уже сообщает об ошибке памяти.
Нипочему, просто повезло с Б. Оба примера могут падать на другой машине/другом компиляторе. Тебе мама разве не говорила, что чтение/запись за границы маасива это UB?
Аноним 05/01/17 Чтв 14:53:32  906417
Часик в сладость. Есть ли тут великие и добрые люди, которые пояснят мне, тупому студентику, как реализуются в С++ такие концепции ООП как композиция и наполнение.
Аноним 05/01/17 Чтв 15:07:40  906425
>>906417
http://e-learning.bmstu.ru/moodle/pluginfile.php/235/mod_page/content/17/OOP2.pdf
Аноним 05/01/17 Чтв 15:08:23  906427
>>906417
>> наполнение
Впервые слышу, может ты перевел что не так
>> композиция
Это же паттерн
Аноним 05/01/17 Чтв 15:13:41  906432
blob (19Кб, 2165x165)
>>906427
у меня в лекции написано так:
Наполнение - количество объектных полей может меняться от нуля до достаточно больших значений (реализуется с помощью списков)
Аноним 05/01/17 Чтв 15:14:43  906434
>>906425
спасибо, чекну
Аноним 05/01/17 Чтв 15:23:16  906436
>>906432
Странные названия.
Я больше знаком с агрегированием и композицией. Только в твоих терминах агрегирование - композиция, а композиция - наполнение ("мои" термины перед дефисом).
Если кратко, композиция подразумевает такую связь объектов, при котором один объект (родитель) становится владельцем другого или других (дочерних). При уничтожении родителя уничтожаются все дочерние объекты.
При агрегации один объект (родитель) лишь хранит другие (дочерние), но не является их хозяином, то есть при уничтожении родителя дочерние объекты не уничтожаются, в отличии от агрегирования.

Подробнее можешь посмотреть тут:
https://ru.wikipedia.org/wiki/Агрегирование_(программирование)
Аноним 05/01/17 Чтв 15:33:56  906441
>>906436
Бля не то написал, видимо. ЩАс читанул пару абзацев из той методички и понял, что ошибся с терминами.
Аноним 05/01/17 Чтв 15:34:27  906442
>>906413
Говорила. После того как это заработало я полез в гугл. Потом сюда. На винде это не заработало совсем. Ну раз так неправильно, то делать так наверное не стоит.
Аноним 05/01/17 Чтв 18:39:26  906570
Почему у меня программа вылетает с ошибкой, если я вызываю delete[] для массива посреди main(), не вылетает при вызове того же в другой функции, не вылетает при delete указатель?
Аноним 05/01/17 Чтв 19:03:38  906586
>>906570
Код в студию, предсказатели, гадалки и шаманы в отпуске.
Аноним 05/01/17 Чтв 19:05:17  906587
Откуда взялся этот адрес? Рандом? Это адрес в виртуальной памяти? Ниже упомянут что для mov нужен адрес в реальной памяти. Разве есть какаята проблема с переводом из виртуальный в реальную? Нужно же просто знать таблицу страниц виртуальной памяти. Она всегла есть независимо от того какую программу запускать.
Аноним 05/01/17 Чтв 19:06:21  906589
Screenshot2017-[...].jpg (301Кб, 1745x777)
>>906587
Пик забыл
Аноним 05/01/17 Чтв 20:32:48  906657
>>906586
Тут не в коде дело, но сделал наглядно: http://ideone.com/MEjyN0
Тут даже видно, в какой момент всё ломается. Почему так?
Аноним 05/01/17 Чтв 20:42:46  906663
>>906657
delete можно применять только к указателям возвращенным new. Установить указатель на случайную ячейку памяти и заюзать туда delete нихуя не даст нормального.
Аноним 05/01/17 Чтв 20:45:32  906665
>>906663
int* arr = new int[3];
Это, по-твоему, указатель на случайную ячейку памяти? Точно такой же указатель "на случайную ячейку памяти" есть в f(), только там он нормально удаляется.
Аноним 05/01/17 Чтв 20:50:33  906668
Понял, в чём тут была ошибка. Мой косяк.
Аноним 05/01/17 Чтв 21:21:29  906693
Чего не работает? Можно как-то в рунтайме тип переменной определить? Теперь де всякие авто есть и тому подобное.
http://ideone.com/e2wQbn
Аноним 05/01/17 Чтв 21:26:49  906696
>>906693
У тебя переменной b не существует после выхода из if else. Можно сделать указатель на void, а в if else выделить память нужного типа но мнекажется эта хуйня какая-то
Аноним 05/01/17 Чтв 21:37:22  906712
>>906696
Всё. Понял как сделать. Код писать не буду т.к. с телефона.
Аноним 06/01/17 Птн 01:44:51  906927
>>906587
>Откуда взялся этот адрес? Рандом?
да, так линкер положил. но можно задрочить линкер, чтобы складывал по определенным адресам

>Это адрес в виртуальной памяти?
да, очевидно. адресами в реальной памяти заведует только меморименеджер в ядре

>Ниже упомянут что для mov нужен адрес в реальной памяти. Разве есть какаята проблема с переводом из виртуальный в реальную? Нужно же просто знать таблицу страниц виртуальной памяти. Она всегла есть независимо от того какую программу запускать.
wat
Аноним 06/01/17 Птн 03:10:23  906953
>>906927
Ну там не совсем рандом. 0x8048 это не рандом
Аноним 06/01/17 Птн 10:53:57  907018
>>906587
> Откуда взялся этот адрес? Рандом?
Если ты про 0x8048470 то там (скорее всего) будет именно такое число, но само по себе оно взято произвольно. Возможно там есть какая-то кулстори почему получилось именно такое число - но по сути оно случайно.
> Ниже упомянут что для mov нужен адрес в реальной памяти. Разве есть какаята проблема с переводом из виртуальный в реальную?
С этим ебется ОС. Программа оперирует с виртуальной паматью, так как будто это реальная - определить что ей подсовывают именно виртуальную память она может только по косвенным признакам (например похожесть адресов выделенной памяти при каждом запуске).
Аноним 06/01/17 Птн 14:50:34  907104
>>906587
>Откуда взялся этот адрес? Рандом?
Аллах так пожелал.
Аноним 06/01/17 Птн 20:45:09  907306
jio.JPG (24Кб, 417x236)
Помогите.
Аноним 06/01/17 Птн 20:47:29  907309
>>907306
> 2015
> CD-ROM
Ясно.
Аноним 06/01/17 Птн 20:48:24  907311
>>907306
Скачай и установи
Аноним 06/01/17 Птн 20:55:33  907314
>>907306
Попробуй Haskell Platform установить
Аноним 06/01/17 Птн 21:05:33  907324
868fa98b6e66b4d[...].jpg (199Кб, 1280x960)
>>907314
Аноним 07/01/17 Суб 01:00:42  907449
В шапке все ссылки протухли:(
Аноним 07/01/17 Суб 02:24:06  907488
>>907449
Там написано что делать. А обновлять — мне лень, если есть желающие помочь покидайте свежих ссылок.
Аноним 08/01/17 Вск 16:12:59  908252
Хули тут так тихо?
Когда 17 стандарт запилят?
Аноним 08/01/17 Вск 17:01:55  908288
>>908252
В 2020 заходи.
Аноним 08/01/17 Вск 18:32:17  908329
>>908252
ты сначала с лямбдами из 14 стандарта разберись
Аноним 08/01/17 Вск 18:43:06  908340
>>908329
[]<>(){} разобрался.
>14 в 2к17-м
В каком-нибудь gcc 8 уже наверное все потенциальные фичи реализованы
Аноним 08/01/17 Вск 19:13:19  908351
>>908340
https://gcc.gnu.org/projects/cxx-status.html#cxx1z
http://clang.llvm.org/cxx_status.html
В 7-м гцц уже все есть кроме 1-й фичи, а в последних шлангах почти все есть.
Аноним 08/01/17 Вск 20:35:02  908401
>>907314
Будут ли в будущих стандартах выпиливать ненужное гавно?
Аноним 08/01/17 Вск 20:35:22  908402
>>908351
>>908401
Аноним 08/01/17 Вск 21:47:38  908448
>>908401

Бббудут!
Аноним 08/01/17 Вск 21:50:30  908449
Когда завезут модули?
Аноним 08/01/17 Вск 22:19:07  908467
>>908449
>Когда завезут модули
никогда
Аноним 08/01/17 Вск 23:48:25  908532
>>906278

Архитектура познаётся только на практике. Книжки грызть не имеет смысла, потому что в этой области они мало что имеют общего с реальность.
Аноним 08/01/17 Вск 23:51:28  908534
>>908448
Нет.
>>908449
Не раньше стандарта двадцатого года. Именно потому что не хотят выкидывать старое говно.
>>908532
Ты что! А как же котик и собачка унаследованные от животного????
Аноним 08/01/17 Вск 23:54:54  908536
>>904724

Ну, кто там жаловался, что работать за еду не будет?! Пюрешка с сиськами! Налетай!
Аноним 09/01/17 Пнд 01:23:08  908555
>>908536
Для рашки это хороший вариант для одиночки, если еще общагу прилагают.
Если по еде и жилью обеспечен, то считай ты успешен. 5к как раз на одежду хватит.
Аноним 09/01/17 Пнд 01:32:52  908560
>>908555
Это скорее всего без жилья.

Когда искал работу видел вариант за 4к - в местной областной больничке электротехником, лампочки менять, проводку, и т.п.
Но 4к - этого даже на жилье не хватит, а свое жилье больничка не предоставляет. Не говоря уже о питании.

И как там работать предлагают?
Либо тратить 3к на еду и жить на улице, либо оплачивать коммуналку этими 4к и питаться святым духом.

ИМХО дворником за 8 выгоднее - можно и квартиру оплатить и еду. Но на одежду уже не хватает.

И вот как с такими ЗП выживать?
Аноним 09/01/17 Пнд 01:48:26  908567
241545422147038[...].jpg (597Кб, 1000x562)
147025261016662[...].jpg (25Кб, 400x241)
>>908560
>И вот как с такими ЗП выживать?
Очень просто
Аноним 09/01/17 Пнд 02:20:48  908571
>>908567
Дык это хымик. А чо делоть математику?
Аноним 09/01/17 Пнд 02:38:17  908574
>>908536
А я б за пюрешку с сосисками поработал. У меня как раз уровень знаний C++ подходящий: две прочитанные книги. А так хоть опыт какой.
Аноним 09/01/17 Пнд 03:12:34  908576
>>908571
Для матем атика есть биржи, где можно нехило намахинировать.
Для экон омика есть черная бухгалтерия.
И т.д.
Аноним 09/01/17 Пнд 06:06:45  908589
>>908401
В 17-м уже выкинули помеченное в 14-м бумажкой deprecated
Аноним 09/01/17 Пнд 09:38:50  908607
Какие актуальные на данный момент GUI существуют?
Аноним 09/01/17 Пнд 11:08:06  908637
>>908607
Qt
Аноним 09/01/17 Пнд 14:15:21  908766
>>908607
Mate
Аноним 09/01/17 Пнд 14:29:32  908778
>>908589
Подробнее можно?
Аноним 09/01/17 Пнд 14:55:06  908797
>>908778
http://www.cplusplus.com/reference/memory/auto_ptr/
deprecated видишь?
Аноним 09/01/17 Пнд 14:57:12  908800
Когда завезут сериализацию?!
Аноним 09/01/17 Пнд 15:17:49  908808
download.png (28Кб, 658x235)
>>908778
http://stackoverflow.com/a/38060437
Аноним 09/01/17 Пнд 15:20:37  908811
>>908800
Сразу после того, как деление на 0 и обращение по нулевому указателю станет defined behaviour
Аноним 09/01/17 Пнд 17:49:01  908870
ПОСТАВИЛ CLION
@
УДАЛИЛ
Аноним 09/01/17 Пнд 18:48:14  908902
>>908637
GTK же.
Аноним 09/01/17 Пнд 22:59:33  909033
>>908607
Нет ни одной.
Аноним 09/01/17 Пнд 23:26:19  909051
>>908607
онли QT
Аноним 10/01/17 Втр 01:26:49  909111
>>909051
>>908902
Аноним 10/01/17 Втр 13:15:33  909269
Нужно сделать стрим скриношотов, отправляя по TCP;
Нужно это делать быстро, поэтому решающим фактором можно считать размер изображения, поэтому нужно сделать скрин, сжать его, засунуть в буфер и отправить;
когда я использую https://msdn.microsoft.com/en-us/library/windows/desktop/dd183402(v=vs.85).aspx , на выходе получается 8 мб, причем если пересохранить любым редактором в .jpg размер будет 300 кб (!) без существенной потери читаемости.
Нагуглил только класс CImage, который не включен в инклюды gcc.
Все остальные предлагают пересылать все 8 мб.
Аноним 10/01/17 Втр 15:30:28  909339
>>909269
Берешь ffmpeg, заворачиваешь стрим на него, он работает быстро, убирает избыточность, сильно снижает битрейт практически без потери качества. На другой стороне разворачиваешь стрим любым видеоплеером.
Это выгоднее, чем пережимать покадрово в жипеги или стримить битмапы. И велосипеды не нужны - все уже готовое.
Аноним 10/01/17 Втр 18:01:32  909387
>>904165 (OP)
Хочу перекатиться из пхп в си ++. Какой стек и какое приложение порекомендуете сделать в качестве хоум проекта для джуна?
Аноним 10/01/17 Втр 18:35:45  909406
>>909339
это мамкин хакер, он очередной ратник пишет, а ты ему ffmpeg предлагаешь, кек
Аноним 10/01/17 Втр 18:38:33  909408
>>909387
конпилятор
Аноним 10/01/17 Втр 18:51:43  909413
ЗАПИЛИТЬ КОМНАТНЫЙ СЕРВЕРНЫЙ ПОЛИМОРФИЗМ

Как на си или си++ реализовать полиморфизм кода, чтобы функции каждый раз компилировались по-разному? Есть ли для этого какие-то средства метапрограмминга? Например, чтобы вместо вызова NtMapViewOfSection генерировалось

__asm nop
__asm nop
__asm xynta
call NtMapViewOfSection
__asm govno
Аноним 10/01/17 Втр 19:21:46  909425
>>909413
Шаблоны и макросы чем не подходят?
Аноним 10/01/17 Втр 20:10:22  909451
>>909339
Заебатая хуйня, для вебки то, что нужно.
То есть, за одну итерацию я беру битмап, хуярю однокадровое видео из этого битмапа, а с другой стороны воспроизвожу по одному видео за пакет? Это прокатит?
>>909406
Если все понимаешь - почему бы и не подсказать, я же не платину спрашиваю, а вполне конкретные вещи.
Аноним 10/01/17 Втр 20:13:38  909456
>>909425
>Шаблоны
Каким образом их можно использовать для того, чтобы сделать полиморфизм кода?
Аноним 10/01/17 Втр 22:30:55  909515
>>909456
Самым прямым. Шаблоны - по определению полиморфизм. Ты объясни по-человечески, что тебе надо?
Аноним 10/01/17 Втр 22:37:37  909518
>>909515
Он хакир и хочет самомодифицирующийся код, как под досом.
Аноним 10/01/17 Втр 22:44:12  909523
>>909518
Пусть на форте пишет - там такое с полпинка делается.
Аноним 11/01/17 Срд 01:57:15  909603
Хочу в целях самообразования написать простенький тетрис. Какая библиотека лучше подходит для вывода простенькой графики а-ля разноцветные квадратики?
Аноним 11/01/17 Срд 02:25:36  909609
>>909603
Если что-то нормальное нужно то SFML, например, там даже вроде книга есть с примером разработки игры. Если тебе совсем просто попробовать то можно прямо на форме рисовать в Qt или VS - но будет выглядеть как гавно, хотя у них там вроде как есть двойная буферизация, но даже тетрис они уже не тянут (так как не предназначены для этого). Но попробовать можно.
Аноним 11/01/17 Срд 06:46:13  909648
>>909523
Проще снять защиту от записи со страниц с кодом, чем об стековое говно руки выкручивать.
Аноним 11/01/17 Срд 08:51:50  909659
>>909648
>Проще снять защиту от записи со страниц с кодом, чем об стековое говно руки выкручивать.
Тогда тебе придется выкручивать руки об голый асм-говно, а то и машкоды вручную пердолить. Форт гораздо удобнее.
Аноним 11/01/17 Срд 09:20:50  909671
>>909659
>Форт гораздо удобнее.

> стековая машина
> удобнее регистровой

Спс паржал.
Аноним 11/01/17 Срд 09:29:01  909675
>>909671
Форт удобен как макроассемблер плюс маленький и простой рантайм. Стековая машина удобнее регистровой просто без вариантов, поэтому ее в каждую первую ВМ и пихают.
Аноним 11/01/17 Срд 09:30:47  909681
>>909675
> Стековая машина удобнее регистровой просто без вариантов, поэтому ее в каждую первую ВМ и пихают.
Код для этих ВМ пишут не руками, а компилятором.
Для компилятора стековая машина удобнее, для человека — нет.
Аноним 11/01/17 Срд 10:18:59  909694
>>909681
Ебанутая какая-то у тебя логика.
Если так посудить - давно под все машины код пишут не руками, так какого хрена везде не стековые машины? Конпеляторам жи удобнее
Аноним 11/01/17 Срд 10:24:26  909700
>>909694
>Ебанутая какая-то у тебя логика.
Нет, у тебя.
Питоновская VM писалась создателями языка чтобы им было проще компилировать в этот байт-код.
Аналогично JVM затачивалась конкретным создателем компилятора под для упрощения компиляции определённого языка.
И т.д.
>Если так посудить - давно под все машины код пишут не руками, так какого хрена везде не стековые машины? Конпеляторам жи удобнее
Унылое передёргивание.
Аноним 11/01/17 Срд 10:52:02  909707
>>909694
>Если так посудить - давно под все машины код пишут не руками, так какого хрена везде не стековые машины? Конпеляторам жи удобнее
Очевидно потому, что создатели реальных машин руководствуются удобством компиляции далеко не в первую очередь.
Аноним 11/01/17 Срд 11:14:52  909722
>>909681
>Для компилятора стековая машина удобнее, для человека — нет
Аллокация регистров - NP-полная задача, на решение которой требуются вычислительные ресурсы, не важно машина их использует или мозг программиста. Плюс форт обычно не чистая стековая машина, почти во всех реализациях есть переменные. Кроме того стеков два, и использование стека возвратов для временного хранения значений значительно уменьшает стековую акробатику. Не говоря о том, что модель с двумя стеками предлагает гораздо более высокий уровень абстракции, к тому же легко воспринимаемый человеком, в отличие от асма с регистрами.
Для компилятора удобнее не стековая машина, а SSA или CPS, по которым можно сразу делать кучу оптимизаций.
Аноним 11/01/17 Срд 12:15:31  909753
>>909722
>Для компилятора удобнее не стековая машина, а SSA
Спс паржал ещё!

Если для компилятора удобнее SSA, почему же clang выплёвывает LLVM-код не в SSA-форме, а с кучей ячеек памяти, куда по 100 лишних раз пишутся и откуда читаются данные? Только mem2reg-пасс LLVM-а превращает этот ужас в SSA.
Почитай http://llvm.org/docs/tutorial/LangImpl07.html , что ли.
Аноним 11/01/17 Срд 12:17:42  909755
>>909722
>Аллокация регистров - NP-полная задача, на решение которой требуются вычислительные ресурсы, не важно машина их использует или мозг программиста.
Прадалжаю дико ржать. Если неважно, использовать машину или мозг, зачем вообще машины используют для решения задач?
Аноним 11/01/17 Срд 13:15:39  909780
>>909753
>почему же clang выплёвывает LLVM-код не в SSA-форме, а с кучей ячеек памяти
Потому что clang и сишка. LLVMу-то полюбасу удобнее нормальный SSA принимать.
>>909755
>зачем вообще машины используют для решения задач?
Ты тред читаешь вообще? Пельмень вверху >>909681 считает, что под регистровую машину (асм) человеку удобнее писать, чем под стековую (форт), что явная чепуха.
Аноним 11/01/17 Срд 13:22:35  909782
>>909780
>Потому что clang и сишка.
Итак, ты сам опроверг своё утверждение, что компилятору удобнее производить SSA-код.
Аноним 11/01/17 Срд 13:24:54  909785
>>909722
> Плюс форт обычно не чистая стековая машина, почти во всех реализациях есть переменные.
В большинстве VM есть переменные и инструкции вроде
LOAD, которые снимают с вершины стека адрес и вместо него кладут значение.
> Кроме того стеков два
На асме можно написать библиотечку-реализацию стека и завести себе хоть 500 стеков.
Аноним 11/01/17 Срд 13:25:46  909786
>>909782
Ты с логикой дружишь вообще? Объектный код делает LLVM, он компилятор, ему удобнее SSA. Clang - транслятор из сишки в формат LLVM, он делает как умеет, с аллокациями на стеке, в надежде, что LLVM дальше все разрулит.
Аноним 11/01/17 Срд 13:27:20  909788
>>909785
>На асме можно написать библиотечку-реализацию стека и завести себе хоть 500 стеков
А на форте можно написать реализацию асма, и завести себе хоть 500 ассемблеров. Суть в том, что с двухстековой машиной работать ничуть не менее удобно, чем с регистрами в асме.
Аноним 11/01/17 Срд 13:33:03  909792
>>909786
>Ты с логикой дружишь вообще?
А ты, долбоёб? Речь шла про то, что создатели язычков высокого уровня запиливают под них стековые VM, т.к. под них крайне легко комилировать: высрать код для стековой машины можно просто правильным обходом AST (тут я слегка утрирую, конечно, но в общем это верно)

Ты пришёл и начал тут пиздеть что высирать удобнее не код для стековой машины, а код в SSA-форме и за сей наглый пиздёж был немедленно обоссан.

SSA удобнее для оптимизаций, но компилировать в SSA это pain in the ass. Понял, быдлан?
Аноним 11/01/17 Срд 13:41:54  909795
>>909792
Я говорил, что компилятору удобнее с SSA или CPS работать на входе. Компилятор - тот, кто из промежуточного представления машинный код делает. Так ясно?
Олсо разницы во что выводить, SSA или стековый язык практически нет - они переводятся друг в друга элементарно.
Аноним 11/01/17 Срд 13:52:02  909799
>>909722
А вот это уже аргумент.
Действительно, задача распределения данных по куче регистров - очень ресурсоемкая задача. Потому все эти gcc и тормозят.

Для стековых машин конпеляция быстрая и простая - регистр всего 1-2, причем с накоплением, знай себе пихай да напихивай.

Но это и минус: когда у тебя много регистров, можно совершить значительно больше оптимизаций.
Регистр позволяет банально не выгружать данные во время операций, сохраняя нить исполнения (нить вычислений одних и тех же данных) в тактовой доступности (на больших чипах полтакта).
Т.е. регистры позволяют быстро и дешево переключаться между несколькими нитями исполнения одного потока, не трогая кэши и память, работая таким образом сверхбыстрым буфером. А иногда и распараллеливая нити исполнения: многие операции работают сразу с несколькими регистрами параллельно, фактически параллельно выполняя операцию над несколькими нитями исполнения - тут вообще кратный рост скорости, если нити данных грамотно свести в такие регистры.
Зависимость тут походу нелинейная: быстрая оценка говорит что каждый следующий регистр ускоряет код больше, чем предыдущий.
Но регистры стоят очень дорого.
За каждым регистром скрывается сотня переключателей и шин. Все это ест много энергии, снижая энергоэффективность, и понятно, сильно ограничивает тактовую частоту - шины получаются намного длиннее, чем необходимо в случае одного регистра.

Стековые машины этих недостатков не имеют: они просты, миниатюрны, энергоэффективны, могут позволить себе бОльшие частоты, и к тому же дешевы.
Их можно клепать тысячами на той же площади, куда влезает одна регистровая.
Но уровень оптимизаций для них ограничен - код будет исполняться медленнее, чем на регистровых машинах.

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

Где важнее энергоэффективность, надежность, стоимость или много параллельного кода - там будут играть стековые машины.
Но с определенного количества исполнительных устройств (операций), которые удлиняют шины, усложняют, удорожают, снижают частоты и энергоэффективность стековых машин, опять начинают играть регистровые машины.
Т.е. стековые машины пригодны только там, где есть еще и ограничение по исполнительным устройствам, количеству команд.
Для слишком большого количества команд пилить стековую машину неэффективно, и проще запилить регистровую, она выйдет примерно той же сложности +/-, зато появится возможность поднять уровень оптимизаций и ускорить код.

В продаже есть вот какие вкусные стековые машины:
http://www.linux.org.ru/forum/development/5472606
https://geektimes.ru/post/133291/
https://geektimes.ru/post/134057/
20 баксов, 1Вт, 144 ведра, 96 миллиардов операций в секунду. Казалось бы: конфетка!
Но! Оперативка и пзу по 64 ячейки на ведро, т.е. эффективность сильно ограничена, программы маленькие, а данные придется гнать потоком через все ведра, не задерживаясь - памяти ни подо что просто нет.
Инструкций всего 32 - большинство операций придется расписывать как микрокод, разбивая на десятки и сотни шагов.
Такая вот эффективность. 96 гигаопс/с идут коту под хвост: штука эта пригодна только для очень узкой группы потоковых алгоритмов, и только там, где нужна энергоэффективность - на большинстве алгоритмов эти 96 гигаопс/с выйдут медленнее чем 4 гигаопса десктопного одноядерного интела: интел имеет кучу регистров, кучу команд, кучу исполнительных устройств, кучу кэшей/оперативок/пзу, плюс для него оптимизации последовательного кода намного дешевле.
Такие дела.

>>909753
>почему же clang выплёвывает LLVM-код не в SSA-форме, а с кучей ячеек памяти, куда по 100 лишних раз пишутся и откуда читаются данные?
Потому что так дешевле и удобнее.
Программа - это граф потока данных и команд, переменные - узлы.
Конпеляция - сжатие графа. Попытка свести количество переменных к количеству физических регистров.
Чтобы грамотно (оптимально) сжать граф по ширине, нужно перебрать миллионы конфигураций графа. Неграмотно можно сжать дешево, но толку от этого, понятно, ноль.
И чем меньше регистров, тем дороже такое сжатие, труднее сделать это эффективно, чтобы не замедлить программу.
Поэтому выгоднее сжать граф чуть-чуть - до сотен и тысяч регистров. Просто убрать избыточность, самыми простыми и быстрыми методами.
А далее пережать уже к формату конкретной машины - не забывай что LLVM все сводит к формату виртуальной машины, который можно перегнать к любому формату физических машин.
Аноним 11/01/17 Срд 14:23:24  909808
>>909799
Вот еще более наглядная ссылочка
http://www.kit-e.ru/assets/files/pdf/2011_11_111.pdf
Аноним 11/01/17 Срд 19:47:06  909967
Недавно узнал, что я писал не на C++, а на си с классами. Думаю, такие же как я все после вузов. Как мне быть в мейнстриме, тыкать stl, везде использовать шаблоны и всякий boost?
Аноним 11/01/17 Срд 20:00:29  909978
>>904737
В мапе один аргумент - ключ, другой - значение . Можно сделать map<int, tuple<int, string, char, float>>
Аноним 11/01/17 Срд 21:16:52  910034
>>904737
variant
Аноним 12/01/17 Чтв 14:54:49  910469
Нужно ввести число. Потом нужно проверить, введено ли число вообще, и если нет - закончить алгоритм. Как это реализовать? Предполагаю, что через string, но как тогда перевести string в int?
Аноним 12/01/17 Чтв 15:31:49  910494
>>910469
Если что-то простое то читаешь через std::cin и проверяешь на failbit и badbit. Проблема с std::cin что если нет четких ограничений на ввод (например - или инт или нахуй) то нужно много попыток чтения делать. Если производительность важна, то там да, читаешь в строку потом парсишь. Есть atoi, atof и их друзья.
Аноним 12/01/17 Чтв 15:52:30  910502
>>910494
Все очень простое. Буквально два варианта: пустая строка или число. Если строка пустая, то алгоритм заканчивается, если там число - string переводится в int. Возможность букв не учитываем хотя они вроде все равно в int не сконвертятся. Получается, нужно написать getline(cin, stringname), потом сделать проверку на пробел на первой позиции int n=-1; n=stringname.find(' '); if (n>-1) break;, потом через atoi переводить строку в int. Правильно?
Пойду гуглить atoi.
Аноним 12/01/17 Чтв 16:09:55  910509
>>910502
atoi при ошибке возвращает ноль, так что хуй поймешь ошибка там или просто ввели ноль. Бери stoi, оно исключение бросает.
Аноним 12/01/17 Чтв 16:31:39  910513
>>910509
Понял. А как запилить проверку на пробел? stringname.at(0)==' ' не детектит.
Аноним 12/01/17 Чтв 16:35:11  910515
>>910513
isspace
Аноним 12/01/17 Чтв 17:03:47  910528
>>910494
>>910509
>>910515
Спасибо, пошел разбираться.
Аноним 12/01/17 Чтв 18:26:48  910639
Пичёт от CL.exe

Простой кодец: http://codepad.org/GWbINr9g

Гцц компиляет нормально.
А вот cl.exe Хуюшки:

$ cl 1.cpp
Оптимизирующий компилятор Microsoft (R) C/C++ версии 19.00.24215.1 для x86
(C) Корпорация Майкрософт (Microsoft Corporation). Все права защищены.

1.cpp
1.cpp(14): error C2059: синтаксическая ошибка: ;


НО, ЕСЛИ РАЗВЕРНУТЬ МАКРОС - ВСЁ НОРМ!!111
Чё за дичь? cl.exe не умеет в многопроходность? Как научить?
Кто нибудь сталкивался?
Аноним 12/01/17 Чтв 18:38:33  910664
Где такой же экзамен сдать онлайн и бесплатно? Просто чтобы вписать в портфолио и показать что я кресты знаю.
Аноним 12/01/17 Чтв 19:09:03  910709
>>910639
Нахуй такое делать?
Аноним 12/01/17 Чтв 19:10:33  910712
>>910709
это код от Sun, я просто хочу собрать его
Они наркоманы
Аноним 12/01/17 Чтв 19:20:28  910717
>>910639
Це пиздец, но я пофексел: http://codepad.org/DMAwf0U1
Банально вынес 0 в макрос и стало норм. Какой-то баг штудийного конпелятор -__-
Аноним 12/01/17 Чтв 20:29:02  910776
>>910664
https://www.upwork.com/tests/1012?pos=23
Аноним 12/01/17 Чтв 20:47:56  910787
>>910776
Где кнопочка начать?
Аноним 12/01/17 Чтв 20:55:07  910794
>>910787
На месте
Аноним 12/01/17 Чтв 20:55:53  910796
2017-01-1300-54[...].png (31Кб, 1439x550)
>>910794
Пикча отвалилась
Аноним 12/01/17 Чтв 21:05:22  910806
>>910796
В другом браузере её тоже нет. Адблок выключен. Зас попробую зарегаться. А это норм тест? Не слишком лёгкий? После прохождения можно будет хвастаться что я кресты знаю? А если я там зарегаюсь, тест пройду, а работать не буду? Результат не аннулируют?
Аноним 12/01/17 Чтв 21:21:06  910811
>>910806
> А это норм тест?
> Не слишком лёгкий?
> После прохождения можно будет хвастаться что я кресты знаю?
> А если я там зарегаюсь, тест пройду, а работать не буду?
> Результат не аннулируют?
Хуй знает, пройди, расскажешь
кнопка появляется после регистрации
Аноним 12/01/17 Чтв 21:57:43  910828
>>910811
Плохой тест. Ответил не на все вопросы, время не вышло, а он завершился. Он ограничивает время одного вопроса двумя минутами. На некоторых вопросах где надо выбрать несколько вариантов можон выбрать только 1. В конце вопросов где надо поставить пропущенное слово в предложение он ставит знак вопроса из-за чего предложение теряет смысл. Вопросы тупо откуда-то скопипащены т.к. в начале одного из вопросов стоял его номер который не совпадал с тем что над постом и которого там не должно было быть. Есть не столько вопрос с неоднозначным ответом и примеры кода с неопределёным поведением. Были вопросы по си и по линуксу. В конце теста мне не дали сертификат. возможно из-за низкой оценки Пересдать можно через 10 месяцев. Детали посмотреть нельзя. Реквестирую другой тест.
Аноним 12/01/17 Чтв 22:22:14  910845
1475434790149.jpg (142Кб, 777x1113)
Не до конца понимаю указатели. Ещё более-менее осознаю, что можно создать итератор по вектору, с каждой итерацией выдавая значение. itr указывает, например, на целочисленное, содержащееся в ячейке, но не само целочисленное. int p = &a, p указывает на адрес a.

Но что мы делаем тут?

struct A {
double x;
};
const A
a = new A{ 0 };

Создаем структуру, а дальше идёт её объявление?
Аноним 12/01/17 Чтв 22:23:23  910847
>>910845
http://pastebin.com/iVDHptqL

Блядь, имел ввиду вот это.
Аноним 12/01/17 Чтв 22:25:51  910850
>>910845
Динамическое выделение памяти. Не используй new, когда есть unique_ptr
Аноним 12/01/17 Чтв 22:35:43  910856
>>910845
>>910850
Почитай о динамической памяти тут:
http://itedu.ru/courses/cpp/cpp-dynamic-memory-allocation
И о умных указателях (с++11 и выше)
http://archive.kalnitsky.org/2011/11/02/smart-pointers-in-cpp11/
Аноним 12/01/17 Чтв 22:38:11  910859
>>910856
Класс, спасибо.
Аноним 12/01/17 Чтв 23:58:01  910931
У вас нет какого-нибудь чата с обсуждением где-нибудь?
Аноним 13/01/17 Птн 02:48:04  911022
qwe.jpg (42Кб, 404x406)
rty.JPG (64Кб, 769x832)
>>910828
Ну раз плохой тест, не прорабатывай заскриненные ответы, а жди пока подскажут хороший.
Аноним 13/01/17 Птн 03:08:32  911026
Какое нахуй кеширование строк в компайлтайме; ты сам то понял что высрал?
Что за пиздец на 2 и 3 ОП-пике?
Аноним 13/01/17 Птн 03:21:15  911029
>>910828
>Пересдать можно через 10 месяцев
Через месяц же. Сдал его на 3.4 из 5. Считаю что для тупого ньюфага вроде меня это неплохой результат. Пойду еще какой-нибудь оттуда пройду.
>>911026
Это из прошлого треда
Аноним 13/01/17 Птн 12:43:07  911190
>>911026
>Какое нахуй кеширование строк в компайлтайме; ты сам то понял что высрал?
Я-то понел (что ето хэширование), а ты очевидно — ниет, вот и запеканус.
>Что за пиздец на 2
Отсылка к знаменитой цитате медведева, очевидно же.
>и 3 ОП-пике?
https://2ch.hk/pr/res/892147.html#903297
Аноним 13/01/17 Птн 13:33:51  911207
>>910664
Бамп вопросу. Какие ещё тесты знаете?
Аноним 13/01/17 Птн 18:33:18  911356
>>911207
http://www.quizful.net/job-role/junior-cpp-developer
Аноним 14/01/17 Суб 11:42:56  911830
Класс на аsio с сокета принимает пакеты. Нужно, чтобы пакеты сваливались в контейнер вне класса. Нормой ли в класс передать unique_ptr наверно указатель на контейнер? Или кривой подход? Как сделать правильно?
Аноним 14/01/17 Суб 14:27:57  911987
>>911830
std::transform + std::back_inserter

гыг
Аноним 14/01/17 Суб 16:41:40  912088
>>911830
Передавать ссылки на какие-то внешние контейнеры не очень идея. Single responsibility же, вся хуйня. Если класс работает с сокетом, то он должен только работать с сокетом, а не управлять еще и масивом. Делаешь через наблюдение. Получив пакет класс рассылает своим наблюдателям сообщение что пакет получен, а они уже решают что с ним делать.
Есть еще похожий на твой вариант, когда интерфейс реализован через внутренний контейнер. Тоесть у тебя асинхронный клиент (или сервер). В одном потоке твой класс принимает пакеты и складывает в свою внутреннюю (желательно не блокирующую) очередь. Рабочие потоки обращаются (через геттер, не напрямую) к очереди и вытаскивают оттуда пакеты. Но в таком случае на контейнер внутри класса, никаких внешних ссылок нет, внутренний контейнер просто используется для организации потокобезопасного интерфейса.
Если тебе нужно что-то простое то твой вариант в принципе тоже ок. Только передаешь обычную ссылку на контейнер, и обзываешь это делегатом. Если в будущем функционала контейнера станет не хватать, то потом просто пишешь настоящего делегата с интерфейсом твоего контейнера (тех методов что реально вызываются в коде). Если все правильно делать, то прийдеться менять достаточно мало существующего кода. Смотря как написал конечно, если твой контейнер лезет со всех щелей приложения (потому что ты его всюду передаешь голого), то тогда настанут естественные пиздарики.
Аноним 14/01/17 Суб 19:09:47  912156
нахуй нужны d-поинтеры?
Аноним 14/01/17 Суб 19:36:32  912177
>>912156
учись гуглить по ключевым словам типа "какая то хуйня use case"
Аноним 14/01/17 Суб 19:37:35  912179
>>912088
а сишник сделает это все в одной функции через while со свичем
кек
Аноним 14/01/17 Суб 20:19:16  912215
Ананасы, что лучше std::cout или printf?
Аноним 14/01/17 Суб 20:21:41  912216
>>912215
printf(), причем по всем параметрам: от удобства и гибкости до, банально, скорости компиляции.
Аноним 14/01/17 Суб 20:26:20  912221
>>912156
Для сохранения бинарной совместимости при изменении реализации.
Аноним 14/01/17 Суб 20:57:15  912241
>>912215
http://fmtlib.net/
Аноним 14/01/17 Суб 21:08:55  912247
>>912241
Чем оно лучше?
Аноним 14/01/17 Суб 21:22:28  912263
>>912241
Щикарно. Что я делаю не так?
Аноним 14/01/17 Суб 22:20:23  912299
>>912263
Предположу, что твой терминал должен быть определенного типа
Аноним 15/01/17 Вск 00:36:59  912358
>>912247
Типобезопасность+удобная форматная строка
>>912263
Хлебаешь сперму.
Аноним 15/01/17 Вск 02:30:44  912434
>>912241
fmt топчик, да
Аноним 15/01/17 Вск 03:06:01  912445
Аноны, на каком этапе обычно неосиляторы дропают с++?
Аноним 15/01/17 Вск 05:00:32  912462
Как обратиться к члену глобального объекта подобным образом?
::(*object).variable;
Аноним 15/01/17 Вск 10:47:20  912499
>>912462
::object->variable
Аноним 15/01/17 Вск 10:49:20  912500
>>912499
Мне надо так как я написал.
Аноним 15/01/17 Вск 10:59:51  912508
>>912500
*(::object).variable
Аноним 15/01/17 Вск 11:00:43  912509
>>912508
Точнее так
(*::object).variable
Аноним 15/01/17 Вск 11:03:11  912510
>>912509
Работает, спасибо.
Аноним 15/01/17 Вск 12:30:47  912537
Screenshot at 2[...].png (14Кб, 1413x460)
>>912263
азаза
Аноним 15/01/17 Вск 14:27:14  912585
Пришло время разобрать говнокод.
Говнокод сам себя не разберёт.

Нужны знающие SFML и Box2D

В игре присутствует модель игрока. Суть в том, что при нажатии W игрок просто летит вверх. Эта проблема решилась просто проверкой вертикальной скорости y игрока перед следующим нажатием.

if(evt.key.code == sf::Keyboard::W && playerBody->GetLinearVelocity().y == 0)

А вот как решить проблему полёта при зажатии "A" или "D"? Проверять горизонтальную скорость не вариант. При зажатии кнопки, игрок просто летит в выбранном направлении.

if(evt.key.code == sf::Keyboard::D)
playerBody->SetLinearVelocity(b2Vec2(5.0f, 0.0f));

А так же следующая проблема состоит в том, что при нажатии W+D или W+A игрок поднимается вверх, но влево-право не двигается.

if(evt.key.code == sf::Keyboard::A && evt.key.code == sf::Keyboard::W)
playerBody->SetLinearVelocity(b2Vec2(-50.0f, 50.0f));
Аноним 15/01/17 Вск 14:53:15  912597
>>912585
Как уже говорилось в СЮ:
в играх нажатия клавиш надо обрабатывать не в ивент хендлере, а в игровом цикле.
Го в /gd/, там более уместно.
Аноним 15/01/17 Вск 15:21:55  912617
>>912585
Держи структуру данных, где отмечаешь какие кнопки нажати (по инпут ивентам меняешь эту структуруру), в игровом цикле проверяешь структуру на предмет нажатых кнопок.
Аноним 15/01/17 Вск 15:50:57  912633
>>912585
Ты неправильно работаешь с телами. Тебе, как правило, в ручную не нужно устанавливать скорости - с скоростями ебется движок, это его работа. Ты напрямую манипулируешь скоростями в редких случаях (например при инициализации объекта, если у него изначально должна быть определенная скорость). Ты должен работать с перемещением тел через ApplyForce и ApplyLinearImpulse/ApplyAngularImpulse. Если игрок должен подпрыгнуть - ты прописываешь ему импульс вверх. Движение влево/вправо - скорее всего сила направленная в нужное направление. Скорее всего потому что сила/импульс в некотором роде взаимозаменяемы - силу можно заменить последовательностью импульсов. Конкретный результат зависит и от параметров сцены, нужно пробовать разные варианты и смотреть что получается.
Аноним 15/01/17 Вск 19:14:00  912738
>>912633
Спасибо анон. С помощью импульсов удалось решить последнюю проблему. Теперь осталась вторая, ведь персонаж летать влево-вправо не должен. Если вверх это решается простой проверкой вертикальной скорости, то как быть влево-вправо?
Аноним 15/01/17 Вск 19:22:48  912746
>>912738
Что значит "персонаж летать влево-вправо не должен"?
Аноним 15/01/17 Вск 19:26:32  912752
>>912746
Персонаж по нажатию W подлетает вверх (прыгает). И если зажать после прыжка A или D, то персонаж застынет в положении, и начнёт постоянно двигаться в сторону нажатой кнопки (A - влево, D - вправо), и по-чуть чуть падать на поверхность под действием гравитации.

Мне нужно чтобы такого нельзя было сделать, так как так можно спокойно перелетать через дыры и препятствия, просто встав на самую высокую точку, на которую можно запрыгнуть.
Аноним 15/01/17 Вск 20:07:04  912774
>>912752
Нужно с коллизиями разобраться. Нажатия кнопок A и D обрабатываешь только если персонаж стоит на поверхности. И застывать никто не должен, если ты не вручную скорость выставляешь. При нажатии A/D или силу прикладывай или периодически импульсами подталкивай.
Аноним 15/01/17 Вск 23:07:33  912838
Чем на машиином уровне отличаются невиртуальные/виртуальные/pure ? (сравнительно насколько много нужно сделать шагов для вызова функции)
Аноним 15/01/17 Вск 23:28:41  912845
>>912838
Учиться надо во время семестра, а не на сессии.
Аноним 15/01/17 Вск 23:28:48  912846
>>912838
Гугли v-table
Аноним 15/01/17 Вск 23:51:20  912854
>>912774
Кстати вопрос: что лучше, ApplyForce или ApplyLinearImpulse? Последние доки по Box2D которые я нашёл были за 2013 год, и там даже нет упоминания булевого аргумента wake, который передаётся в этот метод.
Аноним 16/01/17 Пнд 00:23:13  912866
>>912846
Спасибо.
Еще такой вопрос, возможно ли отслеживать вызовы из виндоконсоли и винапи функции?
Знаю, что второе можно сделать http://www.rohitab.com/apimonitor , но не знаю как ? инжектить в виндодлл .
Интересует именно момент между самим вызовом программы (или прямо перед ним) и местом, когда эта программа может почистить логи/прочее.

>>912845
Лол, если бы только мне подобные вещи рассказывали, а не как оптимизировать сборщик мусора.
Аноним 16/01/17 Пнд 00:28:01  912869
>>912854
Если тебе нужно постоянное воздействие на тело то используешь силу. Если короткое - импульс. А так-то они связаны между собой и фактически взаимозаменяемы (при дискретных расчетах). Сила - скорость изменения импульса точнее скорость изменения импульса равна сумме действующих сил. Силу можно представить как импульс который повторяется на каждом шаге. Импульс можно представить как силу которая действует только один шаг.
Аноним 16/01/17 Пнд 14:27:06  913116
Вроде везде написано что альтернативные операторы (and, not, or...) в C++ уже доступны по умолчанию и не требуют включения заголовка <ciso646>, хотя у меня без включения заголовка альтернативные операторы не работают, можете что подсказать, у вас они работают?
Аноним 16/01/17 Пнд 14:30:11  913119
>>913116
>везде написано
Где написано?
>уже доступны по умолчанию
Где доступны?
И чем && || не устраивают?
Аноним 16/01/17 Пнд 14:39:38  913122
>>913119
В общем я думаю они только в Visual studio не работают.
Аноним 16/01/17 Пнд 15:32:18  913150
Поясните зачем нужен виртуальный деструктор, вернее есть ли случаи когда его не делают?
Аноним 16/01/17 Пнд 16:00:03  913161
Какую IDE юзать? VS не запускается, Dev-C++ имеет разъебанные заголовочные файлы, Code::Blocks не может найти компилятор при создании проекта. Присматриваюсь к Эклипсу, как он вообще?
Что примерно я должен знать, чтобы хотя бы кодить джуном за еду?
Заранее спасибо.
Аноним 16/01/17 Пнд 16:20:40  913170
>>913161
vim
Аноним 16/01/17 Пнд 16:21:24  913171
>>913116
>у вас они работают?
Да.
>>913119
>И чем && || не устраивают?
Ты бы ещё иероглифами писал.
Аноним 16/01/17 Пнд 16:28:36  913177
>>913170
>>913161
Emacs на самом деле Qt Creator
Аноним 16/01/17 Пнд 16:31:21  913181
>>913161
Nano. Еще можешь посмотреть acme, оче годно.
Аноним 16/01/17 Пнд 16:58:37  913192
>>913150
> когда его не делают
Если при разработке класса решают что его не стоит наследовать (либо полиморфно использовать) то виртуальный деструктор не делают, чтобы сэкономить память и процессорное время. В STL много классов без виртуальных деструкторов - все контейнеры, например.
Аноним 16/01/17 Пнд 17:08:29  913202
>>913171
>Ты бы ещё иероглифами писал.
Всю жизнь так писали и не жаловались.
Аноним 16/01/17 Пнд 17:13:29  913203
Можно ли как-то сделать чтобы параметры функции могли принимать только чётные значения?
Аноним 16/01/17 Пнд 17:37:31  913223
>>913203
Нет. Проверять можно constexpr, а параметры ими быть не могут. Можно использовать параметр шаблона вместо параметра функции, но не думаю чт ов такой хуите может быть смысл.
Аноним 16/01/17 Пнд 17:56:58  913228
Бля, аноны, выручайте. Уже час ебусь, понять, что тут за хуетень происходит, я не в силах:
В общем, имеется кусок кода, вот по этой вот ссылочке http://pastebin.com/CNU0dZ4S . В общем-то, проблем, как мне кажется (во всяком случае, как мне казалось до этого времени), в нем возникнуть не может ну вообще никак. На обнуление указателя проверяю, в общем, вроде как, все ОК.
Захожу, я значит, посмотреть, что тут, да как. И, вжух, получай SEGFAULT, петух (угадайте, пока что на какой строчке).
В общем, если вы подумали про цифру 8, тогда я вас обрадую. Так оно и есть. Однако, меня беспокоит то, каким вообще макаром это произошло.
Думаю, так так так, может какую хуйню творю (с чем черт ведь не шутит), захожу в отладчик. И что же я вижу там:
>> layer : 0x16b7bf0
>> m_terrainLayer : 0x16b7bf0
Все как и положено, даже читает внутренние значения класса, однако, какая же великолепная картина предстоит перед моим взором - а вот вы хуй догадаетесь:
>> tileSet : 0x1
Какого черта. Почему она туда указывает?! Ладно, едем дальше, прохожу уже в этот самый "злополучный" метод, и что - а вот нихуя там, он просто возвращает protected-переменную. Все, ничего больше. Притом, что переменная внутри в нормальном состоянии, нихуя не 0x1, как это у меня пишется в отладчике каждый раз. Что за поебистика такая?! Или я в глаза ебусь...
Аноним 16/01/17 Пнд 18:06:21  913233
>>913228
Почему ты решил что проблема в языке? Может у тебя с фреймворком проблемы? Например ты неправильно проинициализировал переменную на которую указывает layer, и проинициализировал хуитой которую к текущему моменту уже удалили.
Аноним 16/01/17 Пнд 18:13:24  913235
>>913233
Нет. В том то и дело, что все нормально и в других местах у меня стоят ассерты на случай косяков обнулений.
У кокоса автоматическое освобождение ресурсов в конце рабочего цикла при обнулении счетчика указателей на объект, но это все дело происходит еще до всевозможных чисток.
Алсо, отладчик считывает область памяти, на которую указывает объект, в том числе и внутренние значения, только вот возвращается почему-то хуйня.
Аноним 16/01/17 Пнд 18:23:26  913238
>>913235
Вот лог GDB для понятности
>>(gdb) step
>>cocos2d::TMXLayer::getTileSet (this=0x1681a90) at /home/%USERNAME%/AndroidStudioProjects/Game/cocos2d/cocos/2d/CCTMXLayer.h:237
>>237 TMXTilesetInfo getTileSet() const { return _tileSet; }
>>
>>(gdb) print _tileSet
>>$3 = (cocos2d::TMXTilesetInfo
) 0x1681750
>>
>>(gdb) step
>>PhysicsProcessorPrivate::setTerrainLayer (this=0x1679260, layer=0x1681a90) at /home/%USERNAME%/AndroidStudioProjects/Game/Classes/src/PhysicsProcessor.cxx:31
>>31 if (tileSet) {
>>
>>(gdb) print tileSet
>>$4 = (cocos2d::TMXTilesetInfo *) 0x1
Аноним 16/01/17 Пнд 19:11:11  913251
>>913238
Ну смотри. Я дописал к твоему коду еще хуйни, чтобы он запускался http://ideone.com/YKKUnW И твой код отрабатывает нормально. Следовательно проблема где-то в другом месте.
Аноним 16/01/17 Пнд 22:14:06  913394
Снова привет программач.

Собственно вопрос: есть ли кроссплатформенный вариант для того, чтобы получить список файлов? Вполне сойдёт какая-нибудь мелкая библиотека (но только не какой-нибудь Boost).
Аноним 16/01/17 Пнд 23:12:46  913439
Какие в теории могут возникнуть проблемы при использовании в gcc/msvc либ, скомпиленных в msvc/gcc ?
И есть ли разница в проблемах между .lib и .dll ?
Аноним 17/01/17 Втр 00:36:07  913512
>>913394
Внезапно, именно boost.
Ну или его младший брат poco
Аноним 17/01/17 Втр 00:37:32  913516
>>913439
У тебя не слинкуется C++, ибо манглинг? Или этого тебе не достаточно?
Аноним 17/01/17 Втр 00:41:03  913521
>>>>913150
Единственное зачем нужен виртуальный деструктор - это полиморфизм. Т.е. если ты будешь хранить объект ыпо ссылке/указателю на базовый тип. В этом случае тебе надо быть уверенным, что при delete разрушение начнётся с последнего потомка, следовательно деструктор должен быть виртуальным
Аноним 17/01/17 Втр 00:42:32  913523
>>913116
Это ж old-way C-style операторы, не? Они как-бы есть для совместимости.
Аноним 17/01/17 Втр 00:47:09  913531
14819230689410.webm (2780Кб, 352x262, 00:00:36)
>>912445
На разных. Самые упёртые неудачники - когда им при найме поводят хуями по лицу и скажут, что макака способна на большее.
Аноним 17/01/17 Втр 01:04:46  913543
>>913516
У меня все линкуется, просто вспомнил, что когда-то использовал в Qt под mingw либы буста, скомпиленные в студии (boost::bind).
И тут возник вопрос, существует ли этакая привязка, типо, скомпилил либы в студии - пользуйся в студии?
Аноним 17/01/17 Втр 04:15:05  913582
>>913543
Там не к IDE привязка, а к компиляторам.
https://en.wikipedia.org/wiki/Name_mangling
Аноним 17/01/17 Втр 09:59:27  913625
Программач, есть ли лучший вариант чем та китайщина, что я сделал?
TinyXML2
save.LoadFile("./saves/slot.xml");
XMLElement saveNode = save.NewElement("Save");
XMLElement
slotNode = save.NewElement("Slot");
XMLElement nameNode = save.NewElement("Name");
XMLText
nameText = save.NewText("");
XMLElement dateNode = save.NewElement("Date");
XMLText
dateText = save.NewText("");
XMLElement progressNode = save.NewElement("Progress");
XMLElement
scoreNode = save.NewElement("Score");
XMLText *scoreText = save.NewText("");
save.LinkEndChild(saveNode);
saveNode->LinkEndChild(slotNode);
slotNode->LinkEndChild(nameNode);
slotNode->LinkEndChild(dateNode);
slotNode->LinkEndChild(progressNode);
progressNode->LinkEndChild(scoreNode);
nameNode->LinkEndChild(nameText);
dateNode->LinkEndChild(dateText);
scoreNode->LinkEndChild(scoreText);
save.SaveFile("./saves/slot.xml");
Аноним 17/01/17 Втр 14:43:24  913715
>>913251
Короче, упростил код до безумия.

>> auto map = cocos2d::TMXTiledMap::create(filePath);
>> auto layer = map->getLayer("terrain");
>> auto tileset = layer->getTileSet();

Все равно tileset указывает на адрес 0x1. Притом, что map и layer в нормальном состоянии...
Аноним 17/01/17 Втр 15:03:13  913721
>>913715
Пиздец.
Видать то-ли CMake, то ли GCC блядствовали. Удалил папку сборки и собрал сново - и теперь заработало. Но ведь исходники не поменялись...
Аноним 17/01/17 Втр 19:49:36  913933
>>913721
>Удалил папку сборки и собрал сново - и теперь заработало. Но ведь исходники не поменялись...
https://www.youtube.com/watch?v=CA5tBKSccuw
Аноним !MrGayZn1n. 17/01/17 Втр 19:55:33  913940
1309872465872.jpg (111Кб, 600x450)
Возможен ли геймдев с такого ide, как Dev++?
Аноним 17/01/17 Втр 19:58:45  913945
>>913940
У меня как-то получается. IDE как IDE.
Просто я с другими не работал никогда.
Аноним 17/01/17 Втр 20:08:01  913952
.jpg (24Кб, 480x360)
VS пишет: uuid не найден, как ему помочь его найти? Запускаю из консоли.
Аноним 17/01/17 Втр 20:32:17  913979
Мемоизация от слова мем.
Аноним 17/01/17 Втр 22:28:25  914105
>>913394
Этот анон >>913512 тебя плохому научит, юзай https://github.com/cxong/tinydir или вообще fstat обертки для винды. Если у тебя в проекте до сих пор нет буста, значит он тебе не нужен.
Аноним 17/01/17 Втр 22:44:21  914115
>>914105
Я этот ебучий буст пытаюсь уже целый день сбилдить. Пиздец.

Анон, спасибо тебе за полезную либу.
Аноним 17/01/17 Втр 23:00:32  914131
Хочу вкатиться в программирование, но боюсь...
Аноним 17/01/17 Втр 23:13:36  914143
>>914131
Нахуй тебе плюсы, это язык для бывалых боевых пидарасов, для спецназ-элиты, почти как 1С. Вкатись лучше в ПЕТОН.
Аноним 17/01/17 Втр 23:14:11  914144
khuyamyapfiles.[...].gif (2219Кб, 320x240)
>>914131
>Хочу вкатиться
> С++ тред

Оно тебе надо? Иди к жабоскриптерам лучше
Аноним 17/01/17 Втр 23:15:37  914146
>>914144
>>914143
Хочу писать свои игры, вот для чего. Но не на готовых движках, а хочу сделать простейшее говно, но понимать как оно работает и отталкиваться от этого.
Аноним 17/01/17 Втр 23:23:48  914150
>>914146
Так бери и вкатывайся, хули ты боишься, она не сожрет тебя
Аноним 17/01/17 Втр 23:26:46  914151
>>914150
Напиши тогда рогалик на питоне. ncurses все дела. Потом перепишешь на плюсах, если понравится.
Аноним 17/01/17 Втр 23:34:03  914156
>>914146
Проиграл. Сам сейчас этим занимаюсь.
Аноним 17/01/17 Втр 23:42:11  914160
>>914151
Зачем curses? Для рогаликов есть libtcod, оно и с крестами работает и с пайтоном.
Аноним 17/01/17 Втр 23:44:57  914162
>>914146
Лол, да уж тож такой хуитой тсрадаю пизда нихуя не выходит уже год ебу плюсы опенгл, сложно
Аноним 17/01/17 Втр 23:48:20  914165
>>914146
На, тогда, список литературы на лето, изучай:
http://mrelusive.com/books/books.html
https://github.com/miloyip/game-programmer
Книжки с первой ссылки подустарели, но пусть будут.
Аноним 17/01/17 Втр 23:55:27  914175
>>914165
да даже если брать по одной книге из раздела, то первую игру он напишет лет в 80
Аноним 18/01/17 Срд 01:12:04  914212
>>914146
>но не на готовых движках
>писать игры, даже не одну игру, а игры
Ты болен. Освой Unity и не перфекционируй.
Аноним 18/01/17 Срд 04:30:44  914273
ну че, вкатывальщики, когда на собес?

Опыт от 5 лет в области системного программирования и секьюрити ресерч (очень желательно желательно),
Полное понимание архитектуры windows (x86/x64) и стека протоколов TCP/IP.
Обязательные знания механизмов антиотладки, антиэмуляции, PE формата. Опыт реверсинга.
Умение разбираться в недокументированном коде. Написание адекватного документированного кода.
OS: Windows. Отличное знание архитектуры Win32 - объекты ядра, процессы/потоки, синхронизация, виртуальная память и адресное пространство процесса, механизмы IPС, code/DLL injection.
Знакомство с книгами Руссиновича, Рихтера и другими профильными источниками.
Понимание отличий Win64 от Win32, WOW64.
Языки, технологии, библиотеки: С++, С++11, 386 assembler, MASM, FASM, STL, boost, Native API, Win API, BSD sockets, WinSock, CMake
Отладчики, дизассемблеры: IDA Pro, OllyDbg, Immunity, WinDbg, Понимание remote debugging
IDE и тулзы: VS 2013-2015, Subversion / Git, Redmine
Возможность полной концентрации на достижении результата в реальные сроки, отсутствие отвлекающих жизненных проблем (дети, болезни и т.п.)
Дополнительно:
Знакомство с форматами файлов PE, COFF.
Знакомство с разработкой драйверов, понимание отличий работы в kernel/user mode.
Криптография - хэши, симметричные алгоритмы, public key cryptography, digital message signing.
* FreeBSD, Linux, Shell scripting (bash, csh).
Аноним 18/01/17 Срд 10:46:16  914382
>>914212
Поциент у вас рак Юнити головного мозга, срочно пройдити в хоспис для дальнейшего домирания, не мешайте здоровым людям.
Аноним 18/01/17 Срд 10:47:41  914383
>>914273
Ищут ноулайфера который с 3х лет под спидами, ковыряет шиндоус и плюсы?
Аноним 18/01/17 Срд 10:50:03  914384
>>914273
Одно радует что никого они ненайдут. Их бизнес загнется без такого важного человека, и на сео этой шараги повиснут многомилиардные штрафы за проебаные проекты. У него отнимут все его деньги хаты машины, жена бросит его отобрав еще часть бабла, постоянно будут обоссывать колекторы, и сдохнет в выгребной яме зимой набухавшись и замерзнув насмерть.
Аноним 18/01/17 Срд 10:54:50  914386
>>914273
Забыл добавить зп 300к/cек
Аноним 18/01/17 Срд 14:16:52  914500
Вечер в хату.
Кто-нибудь htmlcxx пользует?
Аноним 18/01/17 Срд 14:31:32  914516
>>914500
>Кто-нибудь htmlcxx пользует?
нет
Аноним 18/01/17 Срд 15:02:26  914549
Анон. Вот сижу, и туплю:
Вот есть метод, выводит список файлов, и с этими файлами надо работать. Вот например надо вывести в какое-нибудь место название одного из файлов.

Это мне весь вывод метода в массив закатать, или как?
Аноним 18/01/17 Срд 15:07:33  914563
>>914273
Лол, это же я без пары пунктов.
Только мне не впёрлись эти ребята
Аноним 18/01/17 Срд 17:37:25  914648
>>914165
Cпасибо, попробую, правда ни на английском.

>>914162
А у тебя контактов или конфы нет? А то 1 всегда сложно и забросишь, а когда есть компания...
Аноним 18/01/17 Срд 19:04:16  914707
>>914563
чувак, не пизди, умерь амбиции
по требованиям им только руссинович подходит
Аноним 18/01/17 Срд 19:07:40  914709
>>914384
ну да самом то деле какую проблему я вижу с этой вакансией:
им надо уточнить, кого конкретно надо - кодера или реверсера
так же надо уточнить, кодер нужен "ядерный" или все же это будет прикладник в юзерспейсе
тк универсальных людей нет, особенно под винду
Аноним 18/01/17 Срд 19:14:02  914714
>>914273
Что за проект? Пишут ядерный руткит для ФСБ, чтобы ставить на компы подозреваемых в педофилии? Нахуя антиэмуляция, лол?
Аноним 18/01/17 Срд 19:37:34  914728
>>914707
Я не собирался пиздеть или пытаться как-то похвалиться. У меня образование в сфере защиты информации часть с реверсом и подобным я знаю с университета, а работаю в ортогональной сфере, но в силу некоторых причин более или менее знаю шинводс кернелс
Аноним 18/01/17 Срд 19:40:42  914732
>>914728
Т.е. понятно, что я не подхожу под эту "вакансию"
> Опыт от 5 лет в области системного программирования и секьюрити ресерч (очень желательно желательно),
Аноним 18/01/17 Срд 19:41:36  914733
>>914728
Сколько платят?
Аноним 18/01/17 Срд 22:12:34  914848
Прогаю в удовольствие на дельфи
Очень надо Bullet physics, а под c# его никто не курит.

Неужели кресты???...
Аноним 18/01/17 Срд 22:22:42  914854
>>914848
Возьми кресты. Тут есть божественный Box2D.
Аноним 18/01/17 Срд 22:26:34  914856
>>914854
>Box2D
Дык и Буллет есть и не пытайся тралить
Всё годное написано на крестах
Аноним 18/01/17 Срд 23:42:01  914896
Программач, поясни по хардкору за полиморфизм. Есть вот такой цикл:
for (int i = 0; levelNameVector.size() > i; i++)
{
tgui::Label::Ptr emptySaveTitle = std::make_shared<tgui::Label>();
emptySaveTitle->setPosition(135, 92);
emptySaveTitle->setTextSize(22);
emptySaveTitle->setText(levelNameVector);
gui.add(emptySaveTitle);
}
Его суть в том, что я получаю список имён, и каждый раз при проходе цикла рисую тайтл средствами одной библиотеки (надо ещё и положение менять при каждом проходе, да). Я подозреваю, что здесь нужно как-то генерировать название объекта каждый раз, но как - я не знаю.
Аноним 18/01/17 Срд 23:54:05  914901
>>914896
Полиморфизм чего?
Аноним 18/01/17 Срд 23:59:35  914902
>>914901
Ну как бы или класса, или функции. Нужно, чтобы экземпляр типа tgui::Label::Ptr имел уникальное имя. Я уже сам запутался.

Сойдёт даже если просто будет добавляться счётчик к названию экземпляра при каждой итерации цикла.
Аноним 19/01/17 Чтв 00:03:57  914905
>>914901
всево))
Аноним 19/01/17 Чтв 00:11:35  914906
>>914902
Запихивай их в контейнер и не еби мозг
Аноним 19/01/17 Чтв 00:20:38  914908
Такой код:

class Mister{
public:
void foo(){}
};

class Proper: public Mister{
public:
void foo(int a){}
};

Если мы создадим объект Proper object, то вот так сделать нельзя: object.foo() .

Вопрос : какого хуя?
Почему компилятор не может просто пройти по базовым классам и выбрать подходящую по прототипу функцию.
Аноним 19/01/17 Чтв 00:22:37  914910
>>914908
Он может. Такая хуита называется перегрузкой. У тебя какой-то неправительный компилятор. Либо я тупой.
Аноним 19/01/17 Чтв 00:23:38  914912
>>914906
Можешь показать на примере? Даже если я функцию отрисовки в том цикле засуну в какой-нибудь класс.
Аноним 19/01/17 Чтв 00:25:08  914914
>>914273
>Полное понимание архитектуры windows (x86/x64)
>Полное

Дальше не читал
Аноним 19/01/17 Чтв 00:26:38  914915
>>914910
>Либо я тупой.
this
Аноним 19/01/17 Чтв 00:27:25  914916
>>914914
В принципе, можно было ещё почитать, и дропнуть после этого.
>Умение разбираться в недокументированном коде.

>>914915
Поясни по хардкору тогда.
Аноним 19/01/17 Чтв 00:28:11  914917
>>914908
Тут перекрытие функций, а не перегрузка
Аноним 19/01/17 Чтв 00:31:33  914918
>>914917
Это понятно. Но они отличаются по набору параметров, какие проблемы поискать дальше по наследованию функцию с корректными параметрами?
Аноним 19/01/17 Чтв 00:33:32  914919
>>914916
Дальше совсем пиздец. Набрали в гугле реверс-инженеринг и покопировали разных слов
Аноним 19/01/17 Чтв 00:33:48  914920
>>914918
Это защита для множественного наследования. Так не было бы понятно, какую функцию с нужными параметрами тянуть
Аноним 19/01/17 Чтв 00:35:52  914925
>>914273
>отсутствие отвлекающих жизненных проблем (дети, болезни, друзья, тян)
Аноним 19/01/17 Чтв 00:38:16  914928
>>914920
Но для такой защиты можно сделать один класс виртуальным (Как-то так это делается)
Аноним 19/01/17 Чтв 00:40:57  914930
>>914928
Не ты не понял. Что будет по твоей логике, если я сделаю не виртуальное множественное наследование?
Аноним 19/01/17 Чтв 00:43:58  914933
>>914930
Сделай виртуальным. Его и придумали для решения этой проблемы
Аноним 19/01/17 Чтв 00:45:36  914934
>>914933
Ты можешь сделать не виртуальным, это не запрещено стандартом
Аноним 19/01/17 Чтв 00:46:15  914935
>>914918
СТРАУС выбрал такой способ поиска перегруженных функций - они рассматриваются только из одной области видимости (scope). Когда компилятор встречает функцию он начинает перебирать области видимости, начиная с самых узких, пока не найдет функцию с таким же названием. Потом, исключительно в этой области он ищет функцию с нужной сигнатурой. Ты можешь добавить в область видимости Proper все функции с именами foo из Mister дописав в public разделе объявления класса using Mister::foo;
Аноним 19/01/17 Чтв 02:09:28  914954
>>914935
Есть где почитать о том, почему он принял такое решение?
Аноним 19/01/17 Чтв 03:02:35  914972
>>914954
Design and Evolution of C++ же, офигеная книжка, читается как детектив и нисколько не устарела за 20 лет.
Аноним 19/01/17 Чтв 09:19:00  915022
Есть приведенный ниже код, с помощью которого создается текстовый файл с числовой парой, заключенной в скобки. Как из текстового файла вывести в консоль только числа, разделенные пробелом?


[CODE]
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
using namespace std;

inline void keep_window_open(){
char x;
cin >> x;
}

struct Point {
double x;
double y;
};

int main (){
vector<Point> inputVector;(3);
vector<Point> outputVector(3);
double x, y;
for(unsigned int i = 0; i<inputVector.size(); i++){
cin >> x >> y;
inputVector.x = x;
inputVector.y = y;
}
ofstream ost ("C://log.txt");
for(unsigned int i = 0; i<inputVector.size(); i++){
ost << "(" << inputVector.x << " " << inputVector.y << ")\n";
}
ost.close();
ifstream ist ("C://log.txt");
double number;

keep_window_open();

return 0;
}
[/CODE]
Аноним 19/01/17 Чтв 11:19:01  915061
1.PNG (31Кб, 508x705)
>>915022
Лол, часто тут такое?
Мимо новичок С++ тредов
В наказание за то, что ты глупое безвольное создание, которое решило спихнуть свои задачи на других людей, потрать столько же времени на перепечатывание текста, сколько я потратил на твою программу.
Код писал какой-то аутист. Не говоря о неудачных программных ходах, код в принципе не работал

Аноним 19/01/17 Чтв 11:35:08  915068
>>915022
В следующем семестре тебя отчислят, если будешь так же хуи пинать
Аноним 19/01/17 Чтв 20:31:16  915334
>>915061
>>915068
Я только начал изучать плюсы. А код, вероятно, такой несуразный потому, что книгу, с которой я начал свое изучение для начинающих(Programming Principles and Practice Using С++ Строуструпа) и большинство приемов в решении задачи принадлежит автору книги как и задача.
Если эти объяснения не оправдывают "кривоту" моего когда, то какие действия предпринять по отношению к учебному материалу и/или к себе?
Что код нерабочий отправил, и в правду, я виноват.
Аноним 19/01/17 Чтв 21:48:37  915389
Нахуй компилятор запихал мне эти исходники в исполняемый файл?
Аноним 19/01/17 Чтв 22:03:57  915402
>>915389
Это не исходники.
Аноним 19/01/17 Чтв 22:10:59  915407
>>915402
Ну я в курсе что этого в проект не писали, но это по определению исходники.
Аноним 19/01/17 Чтв 22:12:53  915409
>>915407
Исходники по определению в файле с исходниками, а не в исполняемом.

А это тупо таблица символов.
Аноним 19/01/17 Чтв 22:14:47  915411
Аноны, откуда у вас знания по стл и всему шаблонному программированию? Я в последнее время вкатываюсь в настоящие кресты от лабораторного си с классами, читаю гайды/приёмы на стек оверфлоу, буст и гайды буста, и у всех есть будто какое-то тайное знание, что прям заебись и сразу выходит годный код. Вы книжки из шапки читаете? Прям на ингрише? Меня заебывает моментально, например.
Аноним 19/01/17 Чтв 22:15:35  915412
>>915411
Джо Саттиса почитай
Аноним 19/01/17 Чтв 22:16:42  915413
>>915389
Вроде какой-то нехитрый флаг не использует символьную таблицу, заменяя своей. И это, наверное, отладочная сборка и нужна для гдб.
Аноним 19/01/17 Чтв 22:33:37  915420
>>915411
Меня тоже заебывать книжки, поэтому нужно писать что-то побольше, и нехватка всего этого сама придет
Аноним 19/01/17 Чтв 22:42:11  915426
>>915409
Нет. Исходники это то что предполагается некорректные исходники тоже исходники компилятор должен схавать. А этот код действительно исходник с++.

>>915413
Отладочная? А почему она по дэфолту?

Что за таблица символов?
Аноним 19/01/17 Чтв 23:06:12  915443
очень простой код http://pastebin.com/0qHgvFXj
CodeBlocks и CLion используют один mingw

ниже сборка/размер/среднее время

CLion - debug -- 2001 KB -- 164.389 ms
CLion - release -- 1939 KB -- 143.948 ms

Code::Blocks - debug -- 2001 KB -- 162.209 ms
Code::Blocks - release -- 914 KB -- 142.278 ms

VS2015 - debug -- 76 KB -- 1463.76 ms
VS2015 - release -- 15 KB -- 408.403 ms

Какого хуя в студии код выполняется в несколько раз дольше? Особенно сборка дебага, я думал, что 0 лишний поставил в количестве итераций.
Какого хуя код из mingw весит столько, можно ли как-то этот размер уменьшить и чего там такого на 2 мб записано? Оптимизации?
Аноним 19/01/17 Чтв 23:10:16  915446
>>915443
Закладки со спайсом
Аноним 19/01/17 Чтв 23:14:44  915448
>>915443
>Какого хуя в студии код выполняется в несколько раз дольше?
Оптимизатор делает сасай.
>Какого хуя код из mingw весит столько, можно ли как-то этот размер уменьшить и чего там такого на 2 мб записано?
Свой сирантайм и прочая гнутая залупа. Убрать зависимости/слинковатьтдинамически/ещё как-то отодрать их каким нибудь спермо-трюком, но работать не будет нигде.
Аноним 19/01/17 Чтв 23:15:13  915450
>>915443
Ну ты тестируешь время выполнения функции которая (скорее всего) зависит от реализации - естественно на разных компиляторах разное время. А размер скорее всего от того что VS код динамически слинкован с каким-то "c++ redistributable". Попробуй свои программки запустить на машине где нихуя нет кроме ос, если есть возможность и желание.
Аноним 19/01/17 Чтв 23:24:07  915455
>>915426
>А этот код действительно исходник с++.
И что ты там видишь кроме типов и имён функций?
Аноним 19/01/17 Чтв 23:25:25  915456
>>915411
> Аноны, откуда у вас знания по стл и всему шаблонному программированию
Писал много программ.

> Вы книжки из шапки читаете
Читал только Липпмана, когда вкатывался в С++ лет 8 назад. Больше не откуда было черпать систематизированные знания или ответы на вопросы.
Потом читал только на инглише всякие специализированные моменты

>>915334
Ты очень подходил под студента, который под конец семестра, просрав все сроки, начал делать лабы, начиная с первой.
Твой вопрос был чрезвычайно подозрительным. Сложно поверить, что человек, который понял выходные файловые потоки, не смог написать ёлочки в другую сторону >>

> Страуструп
Я бы не стал с этим Страуструпом кувыркаться. Меня он в самом начале только напрягал, очень туго шло. Вот Липпман другое дело, приятно было читать.

> какие действия предпринять
С практикой всё придёт, просто побольше писать программ.
Аноним 19/01/17 Чтв 23:27:12  915458
Привет снова программач. Я опять выхожу на связь с очередной говнокодерской хуитой:

for (int i = 0; levelNameVector.size() > i; i++)
{
drawLevel->drawLevels(gui, window, i, levelNameVector);

tgui::Button::Ptr levelButton = gui.get<tgui::Button>("selectLevel" + i);
levelButton->connect("pressed", [&](){ loadGame(gui, window, levelPathVector); });
}

Создаю я значит объекты по общему указателю каждую итерацию, привязываю к каждому созданному объекту ивент по нажатию, но вот незадача:

При нажатии на созданную кнопку, приложение крашится. В дебаге видно, что программа пытается обратиться к несуществующей функции. Выходит, что по концу каждой итерации loadGame() уничтожается нахуй. Собственно вопрос: как решить эту проблему?
Аноним 19/01/17 Чтв 23:32:25  915460
>>915458
Лол, я хз, конечно, но как насчёт вынести создание кнопки tgui::Button::Ptr levelButton за цикл?
Аноним 19/01/17 Чтв 23:34:06  915463
>>915460
Ну там создаёшь массив кнопок, который существует не только на итерации цикла, а всё время существования твоего меню.
Аноним 19/01/17 Чтв 23:34:43  915464
>>915460
И как ты себе это представляешь? Кнопок может быть дохера и больше.

>>915463
Массив кнопок? И к этому массиву обращаться? Сможешь пример сделать?
Аноним 19/01/17 Чтв 23:42:40  915469
>>915464
Cудя по твоему описанию и по твоему куску кода, с удалением
> tgui::Button::Ptr levelButton
Может происходить и удаление
> [&](){ loadGame(gui, window, levelPathVector); }

Хотя я пальцем в небо.

> И как ты себе это представляешь?
У тебя этот массив кнопок и так создан, я не внимательно просмотрел, если судить по
> gui.get<tgui::Button>("selectLevel" + i);

Объяви в этом же классе что-то типо
std::vector <tgui::Button::Ptr> levelButtons;

И этот цикл вставь в конструктор класса. Ну или в любое другое место. Основной момент - проверить совпадает ли время жизни levelButton и твоей лямбды/коллбека.
Аноним 19/01/17 Чтв 23:43:27  915470
>>915458
tgui::Button::Ptr это shared_ptr. В конце итерации цикла levelButton удаляется нахуй.
Аноним 19/01/17 Чтв 23:45:35  915471
>>915469
>этот цикл вставь в конструктор класса
Только в вектор через пушбек, разумеется, добавляй. Ну ты сам должен понимать, что не просто стрл+С/V должен быть.
Аноним 19/01/17 Чтв 23:47:47  915474
>>915464
>И как ты себе это представляешь?
std::vector <tgui::Button::Ptr> levelButtons;

for (int i = 0; levelNameVector.size() > i; i++)
{
drawLevel->drawLevels(gui, window, i, levelNameVector);

tgui::Button::Ptr levelButton = gui.get<tgui::Button>("selectLevel" + i);
levelButton->connect("pressed", [&](){ loadGame(gui, window, levelPathVector); });

levelButtons.push_back (levelButton);
}
Аноним 19/01/17 Чтв 23:51:57  915477
>>915450
Очень глупый вопрос
Чем мне нужно компилировать, чтобы код собирался на любой винде 2000-хр-..-10 без .dll.
Помню тулзы от nirsofta больше 400 кб не весили, и запускались под любой виндой
Аноним 19/01/17 Чтв 23:54:53  915479
546.PNG (52Кб, 734x554)
>>915469
>>915474
Не совпадает, видимо.
Аноним 20/01/17 Птн 00:02:18  915481
>>915479
Надеюсь, ты не прямо так вставил?
>>915474
Аноним 20/01/17 Птн 00:14:02  915486
>>915477
Вообще можно, залинковать все статически. Разве что с разными версиями системного апи могут быть проблемы. Кроме VS - у них там все сильно на CLI повязано, хотя может можно и как-то отказаться от использования. Про тулзы от nirsoft не знаю, но они там скорее всего агрессивно WinAPI использовали, тоесть много кода динамически линковано - просто что он в любой виндоуз должен быть. MinGW это какбы исключение. Он действует во вражеской среде, ему нельзя предполагать что у пользователя будут нужные библиотеки, поэтому он дохуя сует в екзешник. Я думаю если программу из >>915443 скомпилить GCC на линуксе, то у нее размер тоже будет небольшим. Если не линковать stdlib статически.

Аноним 20/01/17 Птн 00:19:33  915487
>>915486
Ну, я это приблизительно так это все и понял.
Вопрос был в том, чем компилить вин приложения и как собирать, чтобы везде запускалось. 2005й редист стоит даже у последнего васяна думаю. нужен даунгрейд студии, вопрос какой
Аноним 20/01/17 Птн 00:44:05  915491
Подскажите, как лучше всего циклически сдвинуть односвязный список, организованный структурами, на N элементов вправо/влево,
может ему ввести один из параметров - индекс и сдвигать как будто бы это массив?
Аноним 20/01/17 Птн 01:13:29  915500
>>915491
Нужен двусвязный список, и кроме указателя на голову списка, нужен еще указатель на конец. Потом или голову перемещаешь в конец, или конец в голову, смотря в какую сторону сдвигать.
Аноним 20/01/17 Птн 01:20:21  915503
>>915500
А что односвязным ограничиться нельзя?
Просто у меня в задании не фигурирует двусвязный.
Там так сказано:Посредством структур реализуйте односвязный список для хранения окружностей. Обеспечьте следующую функциональность:добавить окружность в список;циклически сдвинуть список на N элементов вправо;циклически сдвинуть список на N элементов влево;сохранить данные в файле, считать данные из файла

И еще, как думаешь, достаточно ли просто в начало добавлять элемент? Просто если есть функция, циклически двигающая элементы, то сортировать их по убыванию/возрастанию просто нет смысла
Аноним 20/01/17 Птн 01:38:31  915505
>>915481
Нет, но я видимо не понял, что ты от меня хочешь. Или это так влияют 4 ночи за окном.

Суть собственно в чём: TGUI - библиотека-надстройка над SFML.

Имеется окно SFML, в котором идёт отрисовка и прочее. В этом окне создаётся контейнер TGUI, который у меня зовётся gui, и собственно в нём содержатся кнопочки и прочая хуита.
Вот как выглядит drawLevels:
{
auto selectLevel = std::make_shared<tgui::Button>();
selectLevel->setPosition(72, 90 * (i + 1));
selectLevel->setSize(260, 65);
selectLevel->setText(name);
selectLevel->setTextSize(26);
gui.add(selectLevel, "selectLevel" + i);
}

Чтобы получить доступ к какой-нибудь кнопочке или чему-то, что находится в контейнере, надо взять контейнер.get(название). Оно кстати добавляется путём gui.add(экземпляр, название).
https://tgui.eu/tutorials/v0.7/creating-widgets/
https://tgui.eu/tutorials/v0.7/signals-introduction/
Аноним 20/01/17 Птн 01:53:40  915509
>>915503
Зацикливаешь список, перемещаешься на N в нужную сторону, разрываешь.
Аноним 20/01/17 Птн 02:27:29  915512
>>915503
Если нужно именно односвязный то делай его. Просто на нем операции с последним элементом дорогие (линейная сложность вместо константной), и если есть возможность то лучше брать двусвязный. А раз у тебя ничего про сложность не сказано и требуют односвязный то делай с ним. Вставляй в начало, если ничего не сказано, так как это проще всего.
Аноним 20/01/17 Птн 07:43:52  915551
meme.jpg (45Кб, 568x335)
>>915411

а ты думал, прочитаешь "с++ за 24 часа" и будешь матёрым программером?
Аноним 20/01/17 Птн 09:49:20  915582
>>915505
Это было очевидно по
> gui.get<tgui::Button>("selectLevel" + i);

Самый просто вариант найти ошибку - поставить data breakpoint. Когда у тебя меняется значение по указанному адресу, происходит остановка. Понятно, что это будет в каком-то деструкторе, но хотя бы по стеку вызовов посмотришь, где это происходит.
Data breakpoint ставь на адрес, где хранится
> В дебаге видно, что программа пытается обратиться к несуществующей функции

Если совсем не сможешь разобраться, могу посмотреть через тимвивер, у нас примерно один часовой пояс. Я мог бы посмотреть и просто проект, но не хочу себе ставить библиотеки
Аноним 20/01/17 Птн 09:53:52  915586
>>915411
>Прям на ингрише?
Без инглиша далеко не уйдёшь. На ютубе тьюториалы еще
>Меня заебывает моментально, например.
Тебя должна вести идея того, что ты хочешь замутить. Если идеи нет или на нее (уже) не стоит, то трудно всегда. Мотмвейшн, нутыпонел
Аноним 20/01/17 Птн 10:28:27  915596
231,.PNG (107Кб, 1510x605)
>>915582
Судя по всему, разобраться не могу. Может пикрил как-то поможет?

Если нет, то давай фейкомыльцо, скину туда пароль и id.
Аноним 20/01/17 Птн 11:53:36  915620
1.png (9Кб, 597x182)
>>915596
> ну ты же не так сделал
> не, не так
> пик
Проиграл.
ostrichisd@yandex.ru
Там, походу, минутное дело, но я всё равно смогу только часа через 2-3 или ближе к 00:00. Либо периодически проверяй почту, либо держи тимвивер на готове, а себя около ПК

Аноним 20/01/17 Птн 11:54:46  915621
1.png (10Кб, 620x216)
>>915620
Фикс пика
Аноним 20/01/17 Птн 14:04:33  915699
Когда выпустят C++17? Когда им можно будет пользоваться на gcc и Visual Studio, знает кто?
Аноним 20/01/17 Птн 15:14:23  915715
>>915699
Почему ты такой даун и не можешь в гугл?
http://clang.llvm.org/cxx_status.html#cxx17
https://gcc.gnu.org/projects/cxx-status.html#cxx1z
https://docs.microsoft.com/en-us/cpp/cpp/support-for-cpp11-14-17-features-modern-cpp
Аноним 20/01/17 Птн 15:24:57  915721
>>915551
Я прочитал "C++ за 21 день". Могу ли я уже устраиваться на работу программистом?
Аноним 20/01/17 Птн 15:27:18  915723
>>915721
java джуном можешь
Аноним 20/01/17 Птн 19:00:30  915840
>>915721
щас не нужны джуны
у фирм зачастую нет ни времени, ни других ресурсов для того чтобы "выращивать" спеца
нужны люди способные сразу писать код, который не будет выброшен
в тоже время в мидах есть необходимость - до сих пор на крестовую мидловскую позицию приходит иногда всего лишь 6-10 резюме (когда на ява-мида может и под сотню прилететь), причем среди них есть абсолютный нерелейтед, те работодателям вообще не из чего выбирать
Аноним 20/01/17 Птн 22:59:14  915984
Untitled.png (2Кб, 768x87)
чому?

#include <windows.h>

int WINAPI WinMain( HINSTANCE _hInstance, HINSTANCE _hPrevInstance, LPTSTR _lpCmdLine, int _nShowCmd) {
       int argc = 0;
       LPWSTR * argv = CommandLineToArgvW( GetCommandLineW(), &argc);
       if (argc > 1)
              MessageBoxW(NULL, argv[0], argv[1],
               MB_ICONWARNING | MB_CANCELTRYCONTINUE | MB_DEFBUTTON2);
       LocalFree(argv);
       return 0;
}
Аноним 20/01/17 Птн 23:06:09  915988
>>915984
>чому?
Антиэмуляцию не сделал.
Аноним 20/01/17 Птн 23:07:31  915989
>>915984
А, это эвристика. Ну тогда попробую забить сигнатуры ассемблерными вставками с нопами и сделать скрытый вызов функций по хэшу из кернель32.
Аноним 20/01/17 Птн 23:08:55  915992
>>915586
Дело в том, что в моем понимании "я прочитал кренинбеха" это сесть и начать читать как войну и мир, глава за главой. У меня есть идея, я хочу ее сделать ультракошерной и масштабируемой, но на йоба-приемы и шаблоны натыкаюсь случайно. Сегодня, например, я научился серелизовать структуру, увидев в буст::асио пример с ICMP а вчера я статик-кастом на воид* ее перегонял в чарэррэй. Мне повезло с этим, но тонких мест еще уйма.
Аноним 21/01/17 Суб 10:27:07  916165
1.png (31Кб, 819x538)
нашёл сырцы вот здесь https://github.com/oguna/MMDFormats
в последнем VS компилирует, в code:blocks с пследним mingw пишет:

Pmx.h|526|error: 'unique_ptr' in namespace 'std' does not name a template type

догадываюсь, что дело с компиляторе. Как ему помочь?
Аноним 21/01/17 Суб 10:34:09  916168
>>916165
>'unique_ptr' in namespace 'std' does not name a template type
#include <memory>
Аноним 21/01/17 Суб 10:34:11  916169
>>916165
Компилятор тебе строкой выше написал как это исправить, откуда вы блять лезете.
Аноним 21/01/17 Суб 10:35:29  916170
>>916169
>>916165
Да, или добавь флаг компилятору, как тот и просит.
Аноним 21/01/17 Суб 10:36:28  916171

>>916170
>или
Не или, а единственный правильный вариант.
Аноним 21/01/17 Суб 10:40:20  916173
>>916169
>откуда вы блять лезете
нахуй строем пошёл
Аноним 21/01/17 Суб 10:42:31  916174
>>916171
Проблема гипотетически могла быть и в особенностях реализации заголовочных файлов между платформами. Нередко же VS отклоняется от стандарта, поэтому могла быть ситуация, когда мемори включался в какой-то другой стандартный головочник, хотя по дефолту такого не должно быть. И китайцы работали в VS.
Ну это я, очевидно, оправдываю то, что я не открыл скрин, а просто прочитал текст поста. А так ты на 99.9 прав

>>916173
Тебе помогают, а ты говоришь спасибо без уважения.
Аноним 21/01/17 Суб 10:43:05  916175
2.png (7Кб, 423x270)
>>916168
уже стоит
Аноним 21/01/17 Суб 10:44:42  916176
>>916175
Тогда просто сделай как тебе предложил >>916169
Т.е. добавь флаг препроцессора -std=c+11
Аноним 21/01/17 Суб 10:45:14  916177
>>916176
>-std=c++11
Аноним 21/01/17 Суб 10:46:04  916178
>>916177
Или компилятора.
Не шарю в gcc
Аноним 21/01/17 Суб 10:48:30  916179
1.png (772Кб, 1092x834)
>>916178
В code::blocks можно просто галку поставить.
Аноним 21/01/17 Суб 10:51:53  916180
3.png (55Кб, 779x536)
>>916174
>>916179
спасибо
Аноним 21/01/17 Суб 10:55:18  916181
4.png (38Кб, 844x536)
теперь вот
Аноним 21/01/17 Суб 11:04:27  916182
>>916181
Теперь давай 14-й стандарт включай (лол).
Аноним 21/01/17 Суб 11:12:22  916185
5.png (24Кб, 872x414)
>>916182
это всё, что есть для этого mingw, что был в пакете с code::blocks

Аноним 21/01/17 Суб 11:16:04  916189
>>916185
Попробуй -std=c++0x, мб частичная поддержка этого стандарта там есть. Иначе — меняй компилятор или переписывай код.
Аноним 21/01/17 Суб 11:19:38  916190
>>916189
и с ним та же фигня
посему взад в MSVC

спасибо!
Аноним 21/01/17 Суб 13:27:32  916246
6.png (11Кб, 883x226)
1. Снёс code::blocks, что пришли с mingw
2. поставил MS VS Express 2010
3. code::blocks компилятор видит
4. но всё ещё пытается линковать mingw32.lib, которой так уже не должно и быть!

Какого хера и как подправить?
Аноним 21/01/17 Суб 13:38:22  916252
>>916246
Фошизд в треде, все в газенваген.
А на самом деле: покрути настройки в линкере и search directories, наверяка там осталась лишняя строчка.
Аноним 21/01/17 Суб 13:52:52  916269
7.png (16Кб, 766x511)
>>916252
качнул Express с chip.DE же

В файте с проектом эта либа прописана. Уберу прям в редакторе
Помогите найти в опциях. Я в code::blocks второй день
Аноним 21/01/17 Суб 14:15:33  916287
>>916246
Если ты вот этот вот >>916165 то сноси нахуй и ставь ту, что поддерживает последний стандарт хоть немного (2015-17).
>>916269
Нахуя качать откуда-то кроме как с офф. сайта учитывая что она сейчас полностью бесплатная со всеми нужными фичами есть — хз.
Если проект сгенерировала не сама IDE (т.е. шел с исходниками) то скорее всего никак. Иначе просто сотри и тыкай дальше.
Аноним 21/01/17 Суб 15:09:04  916320
>>916176
>флаг препроцессора
Ты тоже нахуй отсюда.
Аноним 21/01/17 Суб 15:14:07  916326
А есть какие-нибудь годные книжки по сетевому программированию?
Есть какие-нибудь менее фундаметнальные книжки, чем Стивенс?
Посмотрел мимолетом пару видео по сокетам,без книжки не разобраться.
Аноним 21/01/17 Суб 15:45:34  916342
>>916287
спасибо за поддержку, в том числе и моральную

Я забил на code::blocks (for a while), поставил VS 2013, в которой писаны те сырцы (VS2015 ведь тоже чего-то в них не находила, блеат).

В VS213 компилирует и слава богу. Я вот этот анон >>323745
Мне внезапно надо из лампового делфи в кресты :3
Аноним 21/01/17 Суб 15:46:06  916344
>>916342
https://2ch.hk/gd/res/319626.html#323745
Аноним 21/01/17 Суб 16:34:22  916365
Котаны, такой вопрос. Пишу красивый CLI для своего приложения с богатым функционалом и хочу так как красиво как в git'е. Как этого можно добиться? Пока вижу три опции.

1. Руками на основе argc/argv разбираю строку.
2. Использую POSIX-совместимую getopt()
3. Использую расширенный вариант предыдущего функциионала getopt_long().

Хотелось бы узнать, что является best practicies/как сделать поыбстроми, минимизируя число зависимостей. Буст идёт нахуй. Не интересно.

Дублирую вопрос в ните по пюре Си.
Аноним 21/01/17 Суб 16:36:37  916367
>>916365
Ссылка на параллельный вопрос.
>>916366
Аноним 21/01/17 Суб 18:59:19  916430
>>916365
Слишком низкоуровнево мыслишь. См. куда-нибудь в сторону https://github.com/myint/optparse
Аноним 21/01/17 Суб 21:33:06  916512
1.png (30Кб, 1090x664)
>>916320
>>флаг препроцессора
>Ты тоже нахуй отсюда.
Но..
Ппц вы недружелюбные
Аноним 21/01/17 Суб 21:45:20  916519
>>916512
И что твой скрин должен мне сказать?
Аноним 21/01/17 Суб 21:52:00  916522
8.png (14Кб, 815x446)
Объясните нубусу в крестах, почему public переменные видны в main, но при том, были изменены (длина bones увеличена до 20), в main читаются нулями?

Может, из-за unique_ptr?

>main.cpp
http://pastebin.com/caaNT9MD

>TEST.H
http://pastebin.com/ikQvGf0u
Аноним 21/01/17 Суб 21:52:59  916523
>>916519

лучше здесь помоги >>916522
Аноним 21/01/17 Суб 21:58:44  916529
>>916523
Потому что ты, довн, ресайзишь вектор одного об'екта, а смотришь размер у вектора другого об'екта.
Аноним 21/01/17 Суб 22:02:18  916532
>>916529
мамкин погромист LOL
Аноним 21/01/17 Суб 22:06:00  916536
>>916522
Потому что ты валет.
auto model = Model::Load();
...
model.get().size();
...
Аноним 21/01/17 Суб 22:10:28  916537
Анон, объясни, почему я довен крашит?

Склеиваю стринг из содержимого двух векторов:
for (int i = 0; levelNameVector.size() > i; i++)
{
path = levelPathVector + "/" + levelNameVector;
drawLevel.drawLevels(gui, window, i, levelNameVector, path);
}

Позже передаю эту радость в лямбду.
void SelectLevel::drawLevels(tgui::Gui& gui, sf::RenderWindow& window, int i, string name, string path)
{
selectLevel->connect("pressed", [&](){ loadGame(gui, window, path); });
}

При попытке воспользоваться переменной в лямбде - всё нормально, через cout выводит как надо. Однако стоит воспользоваться ею в нужной мне функции loadGame:
void loadGame(tgui::Gui& gui, sf::RenderWindow& window, string levelPath)
{
cout << levelPath;
}

То приложение просто и понятно крашится.
Аноним 21/01/17 Суб 22:14:38  916541
>>916536
>model.get().size();
лолшто? хуйню спизднул, не взлетит
Аноним 21/01/17 Суб 22:26:17  916548
>>916537
Немного перефразирую: почему levelPath возвращается абсолютным нихуя в loadGame()?
Аноним 21/01/17 Суб 22:27:09  916551
>>916519
Обсуждаемые флаги можно назвать как флагами компилятора, так и флагами препроцессора, потому как последний в любом случае является частью компилятора.
Ну типа preprocessor definitions же написано. PREPROCESSOR. DEFINITIONS. ФЛАГИ. Чё занудничать
Аноним 21/01/17 Суб 22:30:15  916553
>>916541
У тебя unique_ptr значение как отдаст, довенский хуесос?
>>916537
>>916548
Ну откуда нам знать-то, полный код вкинь. Как ты ее инициализируешь там, с оптимизациями ли компилируешь (и нахуя ты эту строку 3 раза копируешь) — сложна, нихуя нипанятна.
Аноним 21/01/17 Суб 22:33:08  916556
>>916553
>У тебя unique_ptr значение как отдаст, довенский хуесос?

>>916522
>Может, из-за unique_ptr?

давай скорей! Скоро мамка спать погонит
Аноним 21/01/17 Суб 22:36:45  916561
>>916537
> selectLevel->connect("pressed", [&](){ loadGame(gui, window, path); });
А если вместо path будет какая-то захаркоженная строка? "C:\\my\path\to\file.txt"?
Аноним 21/01/17 Суб 22:37:35  916562
>>916561
>"C:\\my\\path\\to\\file.txt"
846535
Аноним 21/01/17 Суб 22:41:30  916567
>>916561
"./resources/map/filename.tmx"? Все возвращается как следует, что интересно. Такая строка кстати должна и быть в path.

>>916553
Оптимизаций никаких не стоит.
std::vector<std::string> Stuff::fpathvector(const char* paths)
{
std::vector<std::string> vector;
vector.reserve(fnumber(paths)); // Резервируем вектор в зависимости от числа файлов
for(directory_iterator rdib(paths), rdie; rdib != rdie; ++rdib)
{
std::string StringPath;
StringPath = rdib->path().parent_path().string();
vector.push_back(StringPath);
}
return vector; // Возвращаем вектор
}

Stuff useful;
auto levelNameVector = useful.fnamevector("./resources/map");
auto levelPathVector = useful.fpathvector("./resources/map");

fnamevector делается почти так же, только там именно имя файла забирается.
Аноним 21/01/17 Суб 22:42:34  916569
>>916556
Я ее уже сам спать погнал (твою)
Аноним 21/01/17 Суб 22:49:09  916575
980x.gif (770Кб, 500x239)
>>916522
бамп вопросу

как переделать сурс, чтобы массив bones был виден в main?
Аноним 21/01/17 Суб 22:51:10  916577
>>916567
На мой взгляд, анонимная функция запоминает не значение, как ты ожидаешь, а адрес переменной. К моменту вызова коллбэка память path уже очищена. Попробуй, например, выделить через new.

void SelectLevel::drawLevels(tgui::Gui& gui, sf::RenderWindow& window, int i, string name, string path)
{
char* ppath = new char [512];
sprintf (path.c_str (), ppath);
selectLevel->connect("pressed", [&](){ loadGame(gui, window, ppath); });
}

Понятно, что тут будет утечка памяти, но мы же просто хотим найти ответ на вопрос.
Аноним 21/01/17 Суб 22:53:47  916579
>>916575
я тебе уже ответил конч >>916536
>>916577
>На мой взгляд, анонимная функция запоминает не значение, как ты ожидаешь, а адрес переменной. К моменту вызова коллбэка память path уже очищена. Попробуй, например, выделить через new.
Это вообще было бы очень тупым багом — он переменную вниз по стеку передает, а std::string имеет встроенный рефкаунтер и может удалится только если ее вернуть из функции наверх.
Аноним 21/01/17 Суб 22:56:01  916581
>>916577
>ppath
Хотя если лямбда запоминает адрес, то к моменту вызова коллбэка, опять же, будет запомнен адрес ppath, а сам указатель смоет.
Плохая была идея
Аноним 21/01/17 Суб 22:56:10  916582
>>916575
я тебе уже ответил конч >>916529
Аноним 21/01/17 Суб 22:57:51  916585
>>916537
Потому что ты аргумент функции захватываешь в лямбду по ссылке, довн.
Аноним 21/01/17 Суб 22:59:24  916587
9.png (6Кб, 551x226)
>>916579
>я тебе уже ответил
не взлетает
Аноним 21/01/17 Суб 22:59:46  916588
>>916551
А теперь притащи сюда скрины вкладок "General" и "Language"
Аноним 21/01/17 Суб 23:00:06  916589
>>916587
model->get
Аноним 21/01/17 Суб 23:00:06  916590
>>916582
ты бесполезен
Аноним 21/01/17 Суб 23:00:30  916591
>>916590
Не проецируй.
Аноним 21/01/17 Суб 23:02:05  916592
10.png (11Кб, 688x293)
>>916589
winrar
ty
Аноним 21/01/17 Суб 23:02:10  916593
>>916587
Потому что твой код в хидере тоже так же менять надо, ебанутый. Убери уже нахуй unique_ptr, ты не понимаешь что это и тут оно не нужно точно.
Аноним 21/01/17 Суб 23:02:52  916594
>>916567
>>916585
Этот дело сказал. Проблема правильная была. Попробуй передавать path по значению
selectLevel->connect("pressed", [&, path](){ loadGame(gui, window, path); });
Аноним 21/01/17 Суб 23:05:46  916597
>>916577
В коде твоём была ошибка: [Error] invalid conversion from 'const char' to 'char' [-fpermissive]

>>916585
Ну и как это решить? Взять указатель на path и разименовать его в лямбде?

>>916594
Спасибо анон, проблема решилась. Теперь буду знать.
Аноним 21/01/17 Суб 23:05:54  916598
>>916588
https://www.youtube.com/watch?v=1Flb2Kf58UA
Аноним 21/01/17 Суб 23:06:23  916600
>>916593

усбагойся >>916592
пользы от твоих вскукареков было много
Аноним 21/01/17 Суб 23:06:50  916601
>>916597
>Ну и как это решить?
>>916594
Аноним 21/01/17 Суб 23:07:41  916603
бля чо вы тратите дибилы симены
Аноним 21/01/17 Суб 23:07:54  916604
>>916601
Да понял уже, и даже поблагодарил того анона. И тебе спасибо тоже, что объяснил по какой причине оно так работает.
Аноним 21/01/17 Суб 23:13:21  916606
>>916579
>а std::string имеет встроенный рефкаунтер и может удалится только если ее вернуть из функции наверх
Он же там коллбэки только инициализирует, а не вызывает. К моменту вызова управление давно поднялось вверх по стеку.

>>916597
>В коде твоём была ошибка
Идея должна была быть понятна. Я же без компилятора писал, ошибка тривиальная.

sprintf (ppath, path.c_str ());
Аноним 21/01/17 Суб 23:35:55  916628
Пацаны, зачем вы такие токсичные. Аноны сюда приходят потому что больше не к кому обратиться, а получают вместо кода потоки желчи.
Сравните со stackoverflow
Аноним 21/01/17 Суб 23:39:40  916629
>>916628
Ты бы ещё с ответами@mail.ru сравнил.
Аноним 21/01/17 Суб 23:45:30  916635
>>916629
Мои слова направлены не против особого духа борд и менталитета, а за большее число строк кода в ответах. Чтобы можно было просто вставить и запустить. Так очевидно лучше.
Аноним 21/01/17 Суб 23:47:08  916637
>>916629
Впрочем, да. Мы же теперь 2ch@mail.ru
Аноним 21/01/17 Суб 23:49:59  916639
>>916637
Ппц не дави на больное...............
Аноним 22/01/17 Вск 02:26:12  916715
Сап. Пилю бинарный формат. У меня есть куча ключей, на которые мне нужно впоследствии много раз ссылаться. Подумал, что удобнее всего их будет просто проиндексировать и записать в определенном порядке, а при считывании восстанавливать значения индексов просто по порядку. Но что мне не особо понятно, так это то, в каком виде лучше всего записывать эти самые ссылки, т.е. номера индексов далее по "тексту". Есть идеи? Интересует самый компактный вариант.
Аноним 22/01/17 Вск 10:10:36  916761
>>916715
>>916715
>записать в определенном порядке
struct
Аноним 22/01/17 Вск 10:19:23  916766
>>915699

gcc 7 уже поддерживает все фичи c++17, которые планируют принять в стандарт. собирай его и тести. я сейчас с ним играюсь, даже порнуху некогда смотреть.
Аноним 22/01/17 Вск 10:22:15  916768
>>916512

виндузятник, который никогда не выходил за пределы своей тёплой и уютной иде, детектед
Аноним 22/01/17 Вск 10:29:26  916772
74922390.jpg (100Кб, 400x300)
>>916628

> зачем

а потому что
Аноним 22/01/17 Вск 10:50:52  916785
>>916715
Очевидный struct с битовыми полями, обернутый в #pragma pack. Но это си, а не цпп. Сделай лучше класс с сериализатором
Аноним 22/01/17 Вск 10:58:07  916792
>>916326
Бамп вопрос
Аноним 22/01/17 Вск 11:03:31  916795
>>916326
Таненбаум, Комп. сети. Разжевано вообще все что нужно, не нужно и вообще может пригодится.
Аноним 22/01/17 Вск 11:51:16  916822
Анон, чому нужно -lpthread для потоков делать в линуксе?
Аноним 22/01/17 Вск 12:09:38  916834
>>916822
Чтобы линкер знад что часть кода в этой библиотеке.
Аноним 22/01/17 Вск 12:11:47  916837
>>916834
А если например я использую с++ на арме без линукса, как тогда?
Аноним 22/01/17 Вск 12:39:09  916860
>>916837
> без линукса
Никак. phtrhread это системное апи линукса, естественно оно не доступно на других системах, если только они не предлагают свою posix-совместимую реализацию этого апи. Изучи документацию на эту тему к ОС для которой ты пишешь программы.
Аноним 22/01/17 Вск 12:39:39  916862
>>916837
me just curious: bare metal ARM??
Аноним 22/01/17 Вск 13:53:53  916968
>>916837
тебе какбэ намекают что нужно написать функции поддержки многопоточности
посмотри лучше откуда потребность в них вылезла (дизасмом например) и может быть можно что-то придумать

P.S.
>с++ на арме
не забывай про горы говносборок компиляторов в интернетах: https://andriidevel.blogspot.com/2016/05/size-cost-of-c-exception-handling-on.html
Аноним 22/01/17 Вск 14:48:07  917007
>>916430
это заебись! А ещё? что-нибудь сишечка-лайк или как click в петне
Аноним 22/01/17 Вск 14:59:27  917019
>>916365
https://github.com/sailormoon/flags
Аноним 22/01/17 Вск 15:34:37  917050
>>916968
Почему тогда в cpp11 поддержка потоков? Поддержка же в pthread, цпп просто использует фреймворк
Аноним 22/01/17 Вск 15:39:27  917054
>>917050
Потому что в 11-х плюсах это просто спецификация, которая реализовывается на каждый платформе силами её разработчиков.
Аноним 22/01/17 Вск 15:49:46  917064
>>916246
Хуле ты паришься, ставь Gentoo.
Аноним 22/01/17 Вск 16:30:34  917096
>>916860
>phtrhread это системное апи линукса
Системное апи линукса это clone
Аноним 22/01/17 Вск 19:17:13  917295
Почему вместо 0x20 я получаю рандомный мусор?
Аноним 22/01/17 Вск 19:17:33  917296
Untitled.png (35Кб, 843x318)
>>917295
Аноним 22/01/17 Вск 19:27:46  917306
>>917296
Оххх, порядок байт другой.
Аноним 22/01/17 Вск 20:22:55  917373
>>917295
Почему в C++-треде вместо нормальных срачей я получаю рандомный мусор?
Аноним 22/01/17 Вск 20:44:55  917398
>>917373
Потому что у вас big endian
Аноним 22/01/17 Вск 21:53:38  917470
Нужно в большую строку ( файл 10 мб ) добавить с разных сторон много небольших строк.
Как это лучше сделать в с++03, ибо после всех .append(..) в памяти процесса под 100 мб.
Аноним 22/01/17 Вск 22:07:36  917482
>>917470
Просто .reserve () заранее сделай на 10 + N мегабайт.
Аноним 22/01/17 Вск 22:29:37  917513
Возможный вариант с временным файлом. Записываешь туда сначала начальные строки, потом копируешь исходный файл с помощью splice() (в линуксе, на виндовс вроде TransmitFile можно использовать) потом вписываешь остальное. Заменяешь иходный файл временным. Но хуй знает что получится, и в любом случае от оборудования зависит - если он оне поддерживает DMA то смысла нет так заебываться. Разве что нужно любой ценой оперативную память экономить.
Аноним 22/01/17 Вск 22:37:39  917526
Аноны, либу State Threads можно с крестами использовать?
Аноним 22/01/17 Вск 22:46:03  917536
>>917526

Нет нельзя. Только с сишечкой.
Аноним 22/01/17 Вск 23:03:20  917553
>>917536
Спасибо, анон. А если резервировать память под объект с помощью malloc, то на объекте потом как-то можно конструктор запустить? Boost же как-то реализует пулы (я даже код смотрел, там пулы по sizeof распределяются), неужели на массиве объектов сразу конструкторы запускаются?
Аноним 22/01/17 Вск 23:12:24  917562
>>917553
Можно. placement new используй
Аноним 22/01/17 Вск 23:20:39  917569
>>917562
Спасибо, анон.
Аноним 23/01/17 Пнд 02:15:05  917669
>>917019
>>916430
Спасибо, котики! Накидайте ещё годных репозитариев или профилей. Рад видеть, что здесь не только школьники сидят
Аноним 23/01/17 Пнд 02:18:43  917670
>>917019
Сэйлормун собирает с помощью вот этой штуки
https://pypi.python.org/pypi/bfg9000/

А чем его обычный cmake не устроил? Это ведь стандартно, удобно, распространнено.
Аноним 23/01/17 Пнд 02:21:17  917671
>>917669
Ого! Что нашёл всё у той же членодевки
https://github.com/sailormoon/single_file_libs


Аноним 23/01/17 Пнд 02:23:21  917673
>>917669
Чтобы здесь не флудить отпишитесь на почту ivanegorov025@gmail.com лады? Есть к вам парочка подаванских вопросов как к людям в теме.
Аноним 23/01/17 Пнд 04:05:10  917689
>>917673
Отписался тебе за щёку.
Аноним 23/01/17 Пнд 07:21:02  917703
>>917670
>стандартно, удобно
Стандарта в плюсах на эту тему нет, а цмейк нихуя не удобный, так ещё и тормозит похлеще обычного make и всякого питоноговна.
Аноним 23/01/17 Пнд 11:00:10  917759
>>905086
пиздец. Узнал себя. Как перестать быть байтоёбом с завода?
Аноним 23/01/17 Пнд 11:16:28  917768
>>917759
Сменить предметую область и начать писать код который будет работать и который можно будет поддерживать, а не экономить везде на двух инструкциях.
Аноним 23/01/17 Пнд 11:55:10  917800
>>917703
Чё бля? CMake использует некоторый бэкэнд, который уже и выполняет сборку. И чем это тебя обычный make не угодил? Или блять хочешь писать m4-макросы и autoconf-скрипты, сука?
Аноним 23/01/17 Пнд 12:57:51  917837
>>917800
Ты в каком году? В 92-м?
А цмейк просто тугое кривое говнище, сделанное какими-то гидроцефалами. Причём во всех отношениях.
Аноним 23/01/17 Пнд 14:02:23  917906
>>917837
нет у ней альтернативы
если надо кроссплатформу, то проще cmake использовать, чем тащить в исходниках проекта кучу проектных файлов различных версий visual studio и кучу сборочных скриптов под юниксовые операционки
Аноним 23/01/17 Пнд 14:04:11  917909
>>917673
чувак
это анонимная борда если что
Аноним 23/01/17 Пнд 15:00:54  918027
>>917906
Ты какой-то пещерный человек, ей богу.
Аноним 23/01/17 Пнд 17:42:40  918140
Знание OpenGL - полезный навык для C++-ника в целом?
Уволился вот со скучной работы, связанной с формошлепством на Qt, во время передышки перед поиском новой работы хочу бустануть свое, так сказать, "резюме" не в обычном понимании, а скорее в виде набора скилов которыми я располагаю, и мне интересно, насколько целесообразно заморочиться 3D-графикой в целом и OpenGL в частности.
В качестве плюсов можно считать возможность вкатиться в геймдев и смежные области, из минусов - возможна дополнительная нагрузка в виде повторения мат анализа, на который я очень успешно забивал болт во время учебы в университете.
Что посоветуете?
Аноним 23/01/17 Пнд 17:57:05  918147
Посоветуйте IDE под Windows с компилятором
Qt creator имеет свой? Или это только оболочка?

Охота что-нибудь полегче
Аноним 23/01/17 Пнд 18:06:25  918151
>>918140
>В качестве плюсов можно считать возможность вкатиться в геймдев
/0
Давно таких не видали дуралеев.
>>918147
Давай хаскель лучше кчин, он как раз для новичков.
Список IDE для плюсов с описанием можешь найти в шапке.
Аноним 23/01/17 Пнд 18:07:16  918152
>>918140
OpenGL или нужен или нет. Если вакансия не под ожл разработчика то пользы от его знания мало будет. Матан не нужен, ты возможно с линалом перепутал. Но линал для изучения тоже не нужен. Если хочешь базвордов в резюме накинуть, то возможно лучше за OpneCL (или CUDA) возьмись, если не владеешь. Это в принципе тоже достаточно специализированная тема, но выглядит более широкой. Потом можно уйти в digital signal processing, например.
Аноним 23/01/17 Пнд 18:13:22  918154
>>918151
>>Давай хаскель лучше кчин, он как раз для новичков.
Но я уже год пишу хелоу ворлд на С++
Аноним 23/01/17 Пнд 18:17:13  918157
>>918151
>>Qt creator имеет свой? Или это только оболочка?
Аноним 23/01/17 Пнд 18:42:14  918164
>>917837
> Ты в каком году? В 92-м?
Initial release 2000; 17 years ago
Аноним 23/01/17 Пнд 18:45:59  918166
>>917909
Ебать вы аутисты, это же фейкопочта. На самом деле я Анатолий Сердюков и работаю в гугла эйчаром.
Аноним 23/01/17 Пнд 18:49:19  918167
>>918164
Ну тебе хоть есть чем оправдать глупость. В отличие вот от таких тугосерь >>918157
Аноним 23/01/17 Пнд 20:09:14  918209
>>918167
Ты жизнь обиженный
Аноним 23/01/17 Пнд 20:22:34  918222
>>918209
Мой жизнь жыл
Твой нет
Сасай
Аноним 23/01/17 Пнд 21:41:55  918281
>>918151
>>В качестве плюсов можно считать возможность вкатиться в геймдев
>/0
>Давно таких не видали дуралеев.
Что не так? Объясни
Аноним 23/01/17 Пнд 22:01:43  918298
>>918281
>>918151 - он из этого треда >>918030
Аноним 24/01/17 Втр 00:43:21  918420
>>918140
>Знание OpenGL - полезный навык для C++-ника в целом?
полезный. У меня скоро будет проект на опенгл негеймдев (рабочее место диспетчера)
Аноним 24/01/17 Втр 01:10:35  918438
>>918281
Самая нищенская и одновременно больше всего (по времени) требующая область.
Суть как бы в том, что там конкуренция из сотен макак, готовых переезжать в ебеня вроде Новосибирсков и Харьковых, за зарплату 60к рублей за идею и отечественный геймпром, что называется.

Ну удачи короч
Аноним 24/01/17 Втр 01:45:14  918449
blob (135Кб, 501x315)
>>918167
Путаешь глупость и незнание, дурашка.
Посмотри на Git. Линус ссал тебе наебало make'ом(sic!)
https://github.com/git/git/blob/master/Makefile
Аноним 24/01/17 Втр 04:41:03  918463
У меня мистическая хуйня на винде, я, прямо, кирпичами сру.
Играюсь немного, в общем, сервис создает папку в %SystemRoot%/windows32, копирует туда себя и прописывается через CreateService, понятно уже, что это
Так вот, на одной машине папка не создается, соответственно, все остальные действия должны возвращать ошибку.
Но нет. Я ебу что это. Сервис записан в /CurrentControlSet на несуществующем пути, и мало того, что работает, так еще, блядь, функционал поддерживает полностью (стоп\пауз\старт)
Обыскал все папки винды, перезагружался несколько раз.
КАК ОН МОЖЕТ СУЩЕСТВОВАТЬ
ЧТО ЭТО ЗА НАХУЙ
Аноним 24/01/17 Втр 05:52:07  918469
>>918463
upd
Исследование показало, что данным свойством обладает лишь папка system32.
Можно создать папку там через CreateFolder, скопировать файлы через CopyFile, и даже запилить там сервис, однако после этого получить доступ в эту папку будет нельзя, причем можно создать папку с таким же названием и конфликтов не будет.
Причины и объяснение данного феномена мне все еще неизвестны
Аноним 24/01/17 Втр 09:22:03  918498
>>918449
>Линус ссал тебе наебало make'ом(sic!)
>2,5 к рукописных строк мэйкфайла с говном из баша
>которые в нормальной системе сборки можно было уложить в 100
Ну да, есть такое. Копрофилия — оно у плюсовиков наследственное от сишников.
Аноним 24/01/17 Втр 09:44:56  918505
>>918498
Ахуеть, уложишь в 100?
Аноним 24/01/17 Втр 09:51:12  918509
>>918469
Я не помню, как называется эта фича, но её придумали мелкомягкие, когда хорошенько соснули DLL hell'а. Суть в том, что если приложение, не являющееся TrustedInstaller'ом, пытается срать в системные папки своими библиотеками и прочим, то на самом деле файлы попадают в отдельное хранилище для этого приложения и не видны никому другому. Что-то вроде overlayfs для каждого отдельного процесса, короче.
Аноним 24/01/17 Втр 10:43:00  918517
В xp (может и не только) сессия админа (именно админа, а не пользователя с админ правами) имеет пид 0, соответственно запустить приложения под его именем нельзя, запускаются под 0й сессией.
Можно ли как-нибудь выдрать токен пользовательской сессии адмиистратора?
Аноним 24/01/17 Втр 12:54:42  918584
>>904165 (OP)
>C++
Qt Creator/Designer/CodeLite/Code::Blocks/Clion
и почему? Выбираю строго из перечисленных вариантов, остальные по тем или иным причинам не доставили.
Аноним 24/01/17 Втр 13:47:37  918620
>>918584
Зависит от предпочтений. Попробуй все, выбери себе.
Унылосрачи не нужны
Аноним 24/01/17 Втр 13:49:20  918622
>>918438
> Харьковых
Я и так в Харькове живу :(
Аноним 24/01/17 Втр 14:03:14  918634
>>918620
Я не хочу срач. Ну, подскажи плюсы-минусы. Лион должен быть самым интеллектуальным, если судить по Идее, но хз, выглядит каким-то слишком громоздким. Писать планирую с активным использованием Кьюта либо что-то простое для Ардуинки.
Аноним 24/01/17 Втр 15:14:44  918667
>>918140
матанализ тебе не нужен
нужны будут матрицы и квартенионы для всяких 3д преобраований, немного школьной физики (если не будешь лезть в имплементации физ движков), пройди какойнибудь курс по алгоритмам на курсере

в харьков гейдев - пайпстудия берет вобще всех но платит нихуя, есть g5, gameloft, plarium это из крупных,еще с полсотни мелочи, лучше какимто чудом найди постоянную удаленку, но практически нереально если ты не сениор\лид с хуевой тучей проектов за плечами

денег в гейдеве нет а мозгоебли полные штаны, так что держись анончик

мимо 10 лет в геймдеве
Аноним 24/01/17 Втр 15:38:41  918688
>>918634
vim
Аноним 24/01/17 Втр 19:33:33  918777
>>918667
Вам стажеры не нужны, лол?
Перекат Аноним 24/01/17 Втр 19:49:41  918788
https://2ch.hk/pr/res/894904.html
https://2ch.hk/pr/res/894904.html
https://2ch.hk/pr/res/894904.html
https://2ch.hk/pr/res/894904.html
https://2ch.hk/pr/res/894904.html
https://2ch.hk/pr/res/894904.html
Аноним 24/01/17 Втр 20:56:50  918817
>>918777
Стажёры вообще никому не нужны.
Аноним 24/01/17 Втр 22:18:46  918864
>>918667
Миша, это ты?
Аноним 24/01/17 Втр 22:25:35  918866
Ёбаны в рот, не все же на .HK сидят.
>>894904 (OP)
>>894904 (OP)
>>894904 (OP)
>>894904 (OP)
>>894904 (OP)
Аноним 24/01/17 Втр 23:53:56  918925
>>918864
нет
Аноним 25/01/17 Срд 08:56:26  919069
>>918866
>>918788
Вы куда перекат-то делаете, гады?
Аноним 25/01/17 Срд 10:50:06  919107
std::ifstream in;
in.open(_in.c_str(), std::ios::in | std::ios::binary);
std::ofstream out(_out.c_str(), std::ios::out | std::ios::binary);
char buffer[64];
while(in.read((char )&buffer,sizeof(buffer)))
out.write((char
)&buffer,sizeof(buffer));
in.close();
out.close();

Вот код копирования бинарных файлов, почему он работает?
Всмысле, в конец файла с вероятностью 63/64 будет записываться хотя бы один лишний байт.
Причем, если делать проверку на EOF, то окажется, что такие чары есть и внутри файла
Как вообще определяется еоф в бинарных файлах?
Аноним 25/01/17 Срд 10:51:35  919108
>>919107
http://pastebin.com/B8UZ8s0Z
Аноним 25/01/17 Срд 11:11:47  919123
>>919107
>Как вообще определяется еоф в бинарных файлах?
Как и в любых других.
Операционная система точно знает размер файла, не никаких EOF сигнатур
Аноним 25/01/17 Срд 11:12:08  919125
>>919123
> нет никаких
Аноним 25/01/17 Срд 11:37:07  919128
>>919123
>>919125
Тогда почему код копирует содержимое 1 в 1, без единого лишнего байта, хотя должен копировать по 64 символа за итерацию.
Аноним 25/01/17 Срд 13:03:20  919177
>>919128
>должен копировать по 64 символа за итерацию
Код должен копировать до '\0'.
Если у тебя буфер на 5 символов, то при прочих равных и корректных у тебя будет скопировано 4 символа.

char buf [5] = {'k', 'o', 's', 't', '\0'}. // скопируется только "kost".
Аноним 25/01/17 Срд 13:05:13  919178
>>919177
char buf [99999999] = {'k', 'o', 's', 't', '\0', 'y', 'l', 'i'}. // так тоже скопируется только "kost".
Аноним 25/01/17 Срд 13:12:38  919182
>>919178
>>919177
Не посмотрел, что ты через sizeof пишешь.
Аноним 25/01/17 Срд 13:18:53  919187
>>919182
Да дело даже не в этом. Я просто несколько сильно урезал код.

http://pastebin.com/ggmWVRuz

Так понятнее будет.
Аноним 26/01/17 Чтв 01:23:14  919596
Кто на чём пишет свои rest-хуест сервисы? У меня ulib.
Аноним 26/01/17 Чтв 04:17:35  919624
>>919107
>Вот код копирования бинарных файлов, почему он работает?
Для тебя "скомпилировался" == "работает"?
Аноним 26/01/17 Чтв 07:19:57  919641
Аноны, Страуструп третье издание актуально сейчас?
Прост хуево английский знаю, и слышал, что в третьем с++11 не описывают.
Критично ли или лучше подыскать альтернативы?
Аноним 26/01/17 Чтв 11:12:48  919695
>>919641
>лучше подыскать альтернативы
Аноним 26/01/17 Чтв 11:19:59  919701
>>919695
Прата шестое издание норм подойдет?
Аноним 26/01/17 Чтв 12:47:53  919752
Добрый день. Я учу алгоритмы и структуры данных и для закрепления знаний решаю задачки. Я студент, но это не лаба, так что не спешите посылать на хуй. Имеется опыт со многими ЯП (все высокоуровневые), но ни один не знаю достаточно для трудоустройства (я не спешу).

Так вот, в одной задаче наткнулся на ошибку и совсем не знаю, что делать. Сама задача http://acm.timus.ru/problem.aspx?space=1&num=1004
Мой код для некоторых тестов :
1. http://ideone.com/O2qb8f
2. http://ideone.com/8EuKLK
3. http://ideone.com/jvYN8i
4. http://ideone.com/UXr58x
5. http://ideone.com/CKuotJ
6. http://ideone.com/4iFi0d
Как видите, у 5-го теста ошибка
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
и памяти расходуется больше, чем на остальных
Подозреваю, что у последнего ошибка связана с этой же проблемой.

Гуглить пробовал, но там в основном эта ошибка вызвана использованием массивов, неправильной величины (у меня векторы), или же что-то там с указателями (я высокоуровневый петух и не понимаю), которых у меня в коде вообще нет, только reference авто циклах, слова new тоже нет.

Прошу помочь, хотя, если пошлёте на хуй, я пойму
Аноним 26/01/17 Чтв 12:51:04  919757
>>919752
Ещё одно, в универе плюсы не учили (первый семестр javascript), самостоятельно я тоже не изучал, просто делал так, как бы делал в других языках (гугл в помощь мне), так что даже, если не найдёте ошибку, можете просто подсказать, что можно было лучше оформить
Аноним 26/01/17 Чтв 13:38:57  919775
>>919752
В пятом тесте. В массиве parent, насколько я понял ты надешся что там дерево. Но на самом деле там граф с циклом 92 -> 57 -> 26 -> 16 -> 92, в результате for на 147 строке работает пока не закончится память. Слова new в программе нет, но его используют неявно вектора, когда им нужна новая память под значения (которые ты туда засовываешь в бесконечном цикле).
Аноним 26/01/17 Чтв 15:53:00  919853
>>919775
Спасибо, благодаря тебе,я нашел свою ошибку. У меня с dfs была проблема и из-за этого возникала указанная тобой ошибка. Сам бы не нашел(
Аноним 27/01/17 Птн 09:23:34  920189
sdaasdsadad.png (26Кб, 565x60)
Липпман.
Не прошу решения, просто хотелось бы уточнить - это решаемо исключительно while циклом без использования других управляющих конструкций?
Аноним 27/01/17 Птн 09:25:18  920190
>>920189
Как я понял, есть я ввожу 5 и 10, то на выходе должен получить все числа от 5 и 10. Так?
Но как, если на ввод пойдут числа 10 и 5?
В любом случае какие-то условия еще должны быть. Ну или я тупой.
Аноним 27/01/17 Птн 09:32:43  920194
>>920190
На ум приходит использование только двух while циклов, каждый из которых бы проверял диапазон от меньшего к большему и от большего к меньшему. Но это уродство какое-то.
Аноним 27/01/17 Птн 11:07:56  920224
>>920189
while + break == if
Аноним 27/01/17 Птн 11:31:41  920227
>>920189
Можно. Под спойлером решение.
std::cin >> a >> b;
int c = b - a + 2;
while (--c) {
std::cout << b - c + 1 << std::endl;
}
Аноним 27/01/17 Птн 11:45:02  920228
>>920227
-2147483647 -2147483648
-2147483646 -2147483648
Аноним 27/01/17 Птн 11:55:39  920229
>>920227
Дак в одну сторону (т.е. когда левое число меньше правого) и я написать уже смог, в более понятной форме тем-более.
А вот так, чтобы работало сразу в две стороны (ибо ни твой, ни мой кодец не выдают нужных результатов, если левое число больше правого) - это либо использовать дополнительные управляющие констуркции, либо сразу два цикла while.
У Липпмана глава о while стоит перед всеми другими управляющими конструкциями, поэтому я и подумал, что оно должно решаться только им.
Аноним 27/01/17 Птн 12:12:27  920234
>>920229
> два цикла while
Или три.
http://ideone.com/edAvcn
Аноним 27/01/17 Птн 12:51:06  920250
>>920229
Я думаю что если бы Липпман хотел чтобы программа работала "в обе стороны" то он бы явно указал это. Тащемта с помощью разного рода математических трюков можно этого добиться. Есть вариант подразумевающий UB (основан на предположении о внутреннем представлении отрицательных чисел) http://ideone.com/3yZpjw Вместо сдвига можно использовать возведение в степень и вычисление корня - тогда не будет UB но нужно ебаться с корнями. Но не думаю что Липпман подразумевал что-то подобной в своей задаче.
Аноним 27/01/17 Птн 13:52:18  920269
>>920234
>>920250
Ну ок, аноны. Похоже, это последствия чтения Страструпа если бы 4-ое издание было переведено, я бы его и только его бы и читал, где тот реально мог в своих задачах заставить человека хорошенько выебнуться с решением.
Аноним 27/01/17 Птн 13:52:38  920270
>>920269
Страуструпа
Аноним 27/01/17 Птн 14:17:44  920277
>>920270
СТРАУСА
Аноним 27/01/17 Птн 19:56:53  920431
>>920189
> упражнение 1.
> эти переусложнения
Проиграл.
Аноним 27/01/17 Птн 21:07:54  920463
>>920431
Такое бывает, когда ты в сотый раз пытаешься дочитать хоть какую-нибудь книжку по программированию, у тебя уже есть основа и есть какие-то знания, но между ними имеются пробелы и ты читаешь, потому что хочешь запомнить эти пробелы, но не знаешь, где они.
Ну и после пары глав Страуструпа Липпманн СЛИШКОМ легкий для прочтения, прям как для даунов написано. Хотя, возможно, дальше все будет лучше с этим.
Аноним 27/01/17 Птн 21:35:04  920477
>>920463
"Станет" лучше, когда будешь читать о том, чего ещё не знаешь из Страуструпа
Аноним 27/01/17 Птн 23:35:24  920559
>>920190
Поменяй их местами, довен.
Аноним 28/01/17 Суб 01:50:44  920640
>>920559
Предлагаешь довенские решения.
И тред не читаешь.
Аноним 28/01/17 Суб 02:18:27  920654
>>920640
Окропил тебя живительной уриной
Аноним 28/01/17 Суб 02:22:07  920655
>>920654
Против ветра ссать вредно. Перестань.
Аноним 28/01/17 Суб 07:44:35  920692
Впизду этого Липпмана, такое ощущение, что он меня за дауна держит.
Реквестирую вопрос об изучении исключительно технического английского языка только для чтения сопутствующей литературы.
Слышал, что там только совсем базовая грамматика нужна и основной напор делается на словарный запас специфических терминов.
Авось чего кто годного предложит? Пока читаю Стауструпа 4ed переводя по слову.
Аноним 28/01/17 Суб 10:11:47  920711
5791db7e03bbf15[...].png (235Кб, 700x700)
>>920692
> хочу выучить синтаксис языка
> начну с английского

>Читаю первые главы книги, повторяю известное
> держат за дауна

К слову, у Липпмана и у Страуса ставятся разные цели. Первый просто рассказывает про язык, второй претендует обучить программированию.
Читал и то, и то
Аноним 28/01/17 Суб 10:18:41  920712
>>920692
> переводя по слову
Погоди, ты настолько плохо знаешь английский?
Тогда я тебе сильно не советую пытаться прочитать книгу на английском. Ты, наверно, думаешь, что выбрал наиболее правильный, информативный вариант. Может быть. Но кроме того ты выбрал самый долгий вариант. У тебя это растянется не на один месяц, а может даже на год.
Знаю английский на уровне чтения тех.литературы, легко могу объясниться устно в другой англоговорящей стране, но предпочитаю читать фундаментальные книги на русском, потому что в некоторых местах на перевод тоже время тратится, как бы я не изворачивался и не пытался воспринимать информацию сразу на английском, без промежуточного представления в русский язык
Аноним 28/01/17 Суб 13:40:40  920778
Untitled.png (62Кб, 1517x801)
чому крашит
Аноним 28/01/17 Суб 13:50:44  920784
>>920778
Ты мне вот что скажи, ты зачем в void функции что-то вообще возвращаешь? Как тебя компилятор не развернул?
Аноним 28/01/17 Суб 13:55:16  920786
>>920778
std::thread нельзя уничтожать, если с ним связан какой-то поток. Тебе нужно вызвать join() или detach()
Аноним 28/01/17 Суб 14:01:27  920792
>>920786
Вот это я овощ, первый раз про это слышу.
Почему это по дефолту не включено?
Аноним 28/01/17 Суб 14:06:56  920796
>>920792
Потому, что это С++, он обязан помочь пользователю выстрелить себе в ногу. Ты как маленький.
Аноним 28/01/17 Суб 14:29:41  920807
>>920711
Я и далее глянул, что там. Все же у меня уже есть какая-то база, вплоть до некоторых моментов в ООП, проверенных на практике. Я до этого Страуструпа как раз таки и читал, 3-е издание и мне его форма изложения нравится куда больше. У него даже база читается весьма забавно - нужно вдумываться в прочитанное, переваривать. Да и выглядит это как минимум более информативно. Структура тоже более понятна.
У Липпмана в предисловии написано, что он хочет обучить возможностям языка, которые позволят игнорировать детали и я чувствую, что это ни есть совсем хорошо - т.е. если я серьезно захочу заняться этим делом и найти себе работу кодера, то буду полюбому охеревать от всего, что еще не перенесли на C++11. Хотя, возможно, это просто желание пердолится после pure c
>>920712
Не думаю, что верный. Просто вариант. 4-ое вышло в 2013 году и еще никто не занялся переводом. Вот теперь я понимаю, насколько хуево без англ. языка соваться в подобный мир.

Короче, пока просто буду третье издание читать, уверен, оно и сейчас способно многому научить. А С+11 подтяну позже. Есть же еще С++14 и С++17 за горами, я так долго мутузить буду, лучше вообще хоть что-то делать.
Аноним 28/01/17 Суб 14:36:28  920808
>>920792
Универсального решения нет. Изначально хотели сделать чтобы в деструкторе std::thread вызывался detach, если он все еще не заджойнен. Но у этого варианта есть куча недостатков. Выделили два альтернативных варианта - вызывать join() или terminate() - но у них тоже свои недостатки. Вот ПЭЙПЕР есть на эту тему:
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2802.html
В конечном счете остановились на terminate() - я точно не знаю чего, возможно что в таком случае все проблемы сразу видны. Вообще про проблему не забыли СТАНДАРТНЫЙ КОМИТЕТ получает новые предложения, типа
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0206r0.html
Может что и сделают, поближе к 2030.
Аноним 28/01/17 Суб 14:48:46  920811
>>920808
>2030
Какой ты оптимист. Они сколько не могли сделать нормальную работу с файловой системой, даже из буста вытащили модуль.
Аноним 29/01/17 Вск 01:31:48  921216
Здравствуйте.
Посоветуйте манул по отладке кода с картинкоми.
Не хуйню, где рассказывают как поставить брэкпоинт, а что посерьезней.

Судя по тому, что происходит у меня, когда допуская ошибку, используя std (и по шапке прошлого треда), такой ахуенный вывод ошибок - это норма для мира с++.
Как это лечить, стоит начинающему использовать что-то другое, типа boost?
Аноним 29/01/17 Вск 10:24:33  921334
>>920808
>СТАНДАРТНЫЙ КОМИТЕТ
кек
Аноним 29/01/17 Вск 12:50:45  921382
Господа крестовики, поясните за незнания каких вещей меня обоссут на интервью на junior крестовика(гейдев)?
Аноним 29/01/17 Вск 12:52:39  921383
>>921382
Паттерны. За них обоссут с головы до ног, и ещё в рот нальют.
Аноним 29/01/17 Вск 12:57:00  921385
>>921383
Если контора адекватная, то на паттерны им как раз-таки насрать.
Аноним 29/01/17 Вск 12:58:50  921386
>>921385
Вообще-то наоборот. За незнание паттернов обоссут.

А если по поводу геймдева, то знать абстрактную фабрику - мастхев.
Аноним 29/01/17 Вск 13:04:40  921390
>>921383
Паттерны-хуятерны, модели разработки и прочее я знаю. Именно по языку или каким-нибудь библиотекам, которыми все пользуются. Я так то явобог, но подвернулась вакансия на крестах. Знаю основной синтаксис и довольно много писал на крестах в универе, осилил когда-то польностью шилдта, хоть он и говно. Лабал на qt. Но хотелось бы знать что мне нужно задрочить, а какие знания освежить(на каких могу обосраться)
Аноним 29/01/17 Вск 13:11:12  921392
>>921386
Обычная абстрактная фабрика это моветон, за такую отчепушат во все дыры и оставят у параши. Применение в современном гейдеве имеет только абстрактная синглтон прокси фабрика. Вся индустрия только на ней строится.
Аноним 29/01/17 Вск 13:14:38  921396
>>921390
Ну тебе будет полезно знать STL, это определённо. Зубрить его не надо, но понимать нужно. QT тебе нахуй не нужен, он для интерфейсов только.

Boost ещё может быть полезен, но только в тех случаях, когда STL действительно не хватает. Буст ты до конца жизни не задрочишь. Если геймдев, то DirectX или OpenGL.

А вообще, определись кем ты хочешь стать собственно.
Аноним 29/01/17 Вск 13:28:23  921401
>>921396
Так нет, про вещи относящиеся к гейдеву я и сам знаю что мне нужно знать. Очкую по языку обосраться т.к. на крестах давно не писал, да и вообще раньше его яростно ненавидел. Ну все базовые вещи я знаю, типа конструкторы, деструкторы, указатели, шаблоны, эти ваши вертуольные функции, ООП и т.д. Есть ли какой-нибудь гайд или книга для перекатывающихся с других языков или просто уже имеющих опыт? И еще какой-нибудь с неочивидными и заковыристыми моментами? А то спиздану что-нибудь типа "более высокий приоритет имеет шаблонизированная функция с такими же параметрами", а не наоборот. И меня прям на собесе отпетушат.
Многопоточность знать надо? Утилиты сборки типа cmake или вижуал студио сама за меня жепу подотрет?
Аноним 29/01/17 Вск 13:32:35  921404
>>921401
По поводу книг - сюда:
https://github.com/sosachbot/cppthreadhat/wiki

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

Утилиты сборки помнить необязательно, если конечно под линукс делать не собираешься. Вижуал студио или другая IDE за тебя не только подотрёт, но и ещё и заоптимизирует с помощью спермотрюков, если попросишь.
Аноним 29/01/17 Вск 14:17:39  921439
>>921404
Платиновый вопрос на плюсах сделали сборщик мусора или ты про умные указатели?
Аноним 29/01/17 Вск 14:24:49  921450
>>921439
Умные указатели же. А сборщики мусора вроде как есть сторонние.
Аноним 29/01/17 Вск 15:04:30  921480
>>921392
>прокси
А это зачем?
Аноним 29/01/17 Вск 15:12:36  921489
>>921480
Иначе будет слишком просто сорцы понять
Аноним 29/01/17 Вск 15:45:10  921509
>>921401
>какой-нибудь с неочивидными и заковыристыми моментами?
Саттер с Мейерсом
Аноним 29/01/17 Вск 17:43:30  921548
14772497148621.jpg (24Кб, 416x287)
>>904165 (OP)
Привет анончик, перекатываюсь из веб макаки в кресты. Возникают синтаксические / best practise вопросы. Может даст кто скайпик / вк уточнять такие нюансы (никаких заёбов и прозьб просмотреть код, только консультация)
Аноним 29/01/17 Вск 17:51:37  921557
>>undefined
Ещё один ёбнутый: это анонимная доска.
Аноним 29/01/17 Вск 17:54:42  921559
>>921548
Запомни самое важное:
= - присваивание.
== - сравнение.

Могу подсказать, но я и сам учусь.
Аноним 29/01/17 Вск 18:02:19  921565
14810401591950.jpg (42Кб, 640x800)
>>921559
это я знаю) У меня пара вопросов есть.
Есть ли способ записать переменную при обьявлении типа int a = cin>>a;
И ещё один. Я работаю в clion и когда запускаю прогу но не ввожу данные и делаю билд опять, приложение зависает в памяти. И приходится убивать его иначе не могу сделать билд, пишет нет доступа к exe.
Аноним 29/01/17 Вск 18:08:17  921570
>>921565
int a = cin>>a;

Зачем ты так делаешь? Ты лучше сначала объяви переменную, а затем уже что-то с ней делай. Но записывать в переменную данные при объявлении типа можно.

int a = 10;
int a = getSomeValue();
bool isWorking = example.getState();

>И приходится убивать его иначе не могу сделать билд
Ну так в чём проблема? При перекомпиляции он стирает старые скомпилированные файлы в том числе и exe. Завершай приложение перед компиляцией, всё верно он тебе говорит.
Аноним 29/01/17 Вск 18:17:40  921580
21312.png (59Кб, 1334x730)
>>921570
Смысл в том что открывает файл Clion, но он его не закрывает при билде и он остается висеть в памяти. Я его могу закрыть только через диспетчер.
Может это баг самого clion.
Аноним 29/01/17 Вск 18:19:46  921583
god programming[...].png (97Кб, 719x183)
>>921509
Саттера как раз наворачиваю. Осилил уже 50 страниц и у меня только один вопрос: Вы что ебанулись писать на плюсах в 2017? Не хватало в этом языке трудностей и неочевидных правил, а теперь еще каждый раз надо в голове держать разверсистые правила вывода типов и когда там моя переменная потеряет const, что там у меня rvalue, а что lvalue или когда указатель потеряет владение объектом и мой временный объект в три хуя на стеке выдолбят. Пиздец, выучите ruby, D, посмотрите как языки для людей должны выглядеть. Почитайте про акка и эрланг, как люди по уму многопоточность делают. Охуеть, пойду дальше дрочить ваши const
std::_Simple types<std::_Wrap_alloc<std::_Vec_base_types<Widget, std: :allocator<W1dget>>: :_ Alloc> ::value type> ::value_type *
Аноним 29/01/17 Вск 18:19:57  921584
>>921580
Перед билдом поищи кнопку "завершение" приложения, и жми на неё. Я уверен, что она где-то есть.
Аноним 29/01/17 Вск 23:26:53  921755
>>921584
Дык, это типичные классические спермопроблемы новичка — такое происходит всегда и во всех IDE (в том же последнем культяпкреаторе и студии (хотя там мб уже разобрались, я последний раз 10-й пользовался)) когда судорожно что-то постоянно меняешь и ребилдишь без остановки, причем только на шинде, очевидно что-то не так в системе (либо кто-то не учитывает какой-то ее механизм для чего-то). ну еще у того же QML вообще на всех платформах подобная проблема есть.
>>921580
Кнопочка "стоп" находится слева внизу, слева от места куда ввод-вывод из соснольки переправляется. Шлепай по ней и не ребилдь как сумасшедший.
Аноним 30/01/17 Пнд 06:36:13  921845
Аноны, поясните за пару моментов в OGL.
Почему ему работать с треугольниками куда эффективнее, чем с теми же квадратами?
Почему при разработке игр и моделирования передвижения игрока по миру чаще всего двигают сам мир, а не персонажа в нем? Разве перемещение всех вершин не более затратная операция, чем перемещение вершин самого игрока?
Аноним 30/01/17 Пнд 09:20:10  921863
>>921845
Никто ничего не перемещает. Читай про матрицы преобразований. Каждая матрица умножается на вектор позиции вершины и получается вектор позиции объекта в координатах, которые нужны тебе.
Квадрат - два треугольника. Треугольник - минимальный способ нарисовать двухмерную фигуру, а также однозначно определить плоскость ее размещения.
Аноним 30/01/17 Пнд 13:27:11  921949
>>909609
Не говори о чем не знаешь, в Qt есть виджеты с opengl ускорением.
http://doc.qt.io/qt-5/qopenglwidget.html
Тянет где-то пару десятков тысяч квадратов на экране без просадок на моем ноуте. Да даже стандартными средствами Qt можно сделать тетрис и не будет ничего лагать.
Аноним 30/01/17 Пнд 17:30:38  922124
Бля,нужен совет, через чё лучше реализовать работу с fibre channel протоколом,тут есть два стула,на одном boost::asio точёный, на другой qt network печёный...
Может быть линка на какой-то пример подобной реализация, а то я вообще хз. Если кто знает,может можно как-то посредством буста фрэймы из fc инкапсулировать в ip протокол.
Аноним 30/01/17 Пнд 18:24:22  922231
Screenshot20170[...].png (42Кб, 799x494)
>>920189
Решаемо, конечно же. Пример пикрелейтед
Аноним 30/01/17 Пнд 18:32:20  922239
>>921216
Посмотри это:
https://youtu.be/-n9Fkq1e6sg
Boost сразу не советую, если для тебя вывод ошибок std "охуенный". Можешь попробовать другой компилятор, там сообщения об ошибках разные.
Аноним 30/01/17 Пнд 19:39:38  922318
>>922231
> без использования других управляющих конструкций
> тернарный оператор
Аноним 30/01/17 Пнд 20:00:58  922349
Посоны, у меня незавидное положение, поэтому пишу сюды, куда же еще тут все мои друзья же. Вообщем верстаю проект (клиент-серверное приложение с запросами к БД, и всякой там анальщиной уровня "принять по http json и конвертнуть в местный велосипед") без наставника, из стека: буст (асио) и цэкресткрест 11, либа под sql и тащемта все. Я заранее прикинул хуй к носу, примерно прикинул абстракции там, интерфейсы, вся хуйня. Но мало что тз постепенно обрастало новой поебенью (изначально это вообще был эхо-сервер, лол), так я еще и сам мудак, опыта то нету нихуя. В итоге у меня сейчас в каждый конструктор заезжает по пятаку указателей (да-да, сырых блядь) и вообще я уверен что это все течет как школьница при виде альфача, и когда это выкатится в продакшен то каждые 5 секунд будет сегфолтится. Проект пока небольшой (~5к строчек сырых, т.е. с комментами и скобками), но я в этом пиздеце уже и сам охуеваю, и дальше просто не могу это читать, это уже не код нахуй.
Вроде и у класса каждого по полтора метода, вроде и про паттерны слышал, и копипастить с переполненного стека умею. А на выходе ебаное говно. Что делать, ананасы?
Аноним 30/01/17 Пнд 20:48:02  922404
>>922349
>А на выходе ебаное говно. Что делать, ананасы?
Рефакторить, и не передавать указатели налево и направо.

>и вообще я уверен что это все течет как школьница при виде альфача
Ну не совсем всё так плохо. Попробуй, запусти, дай нагрузку. Не забывай деструкторы использовать, если ты что-то через "new" создаёшь. C++ хоть и упрощает выстрел в ногу, но не до такой же степени.
Аноним 31/01/17 Втр 00:06:48  922693
>>920189
http://ideone.com/7Gt6gL
Аноним 31/01/17 Втр 03:39:36  922790
>>922693
Хм... ну да. Задача соответствует условию. Спасибо. Чуть выше >>920250 анон тоже решение хорошее предложил, но оно довольно спецефично.
Аноним 31/01/17 Втр 03:54:39  922792
>>922790
задача - условию - ответ условию. фикс.
Аноним 31/01/17 Втр 07:22:19  922812
14848139415750[[...].png (31Кб, 508x705)
>>915456
Обязательно надо создавать переменную для отсеивания скобок?
Аноним 31/01/17 Втр 09:09:48  922838
До чего унылым стал тред, пиздец.
Аноним 31/01/17 Втр 12:44:25  922931
>>922838
Хули тебе надо-то? Платиновые вопросы про "= и ==" задавать?
Аноним 31/01/17 Втр 19:38:37  923287
Плюсаны, нужно написать простую задачку, но я в плюсах мало что знаю, можете помочь?
Аноним 31/01/17 Втр 19:39:41  923289
>>923287
Задачу давай.
Аноним 31/01/17 Втр 19:44:23  923290
Есть около 1к файлов с разными именами, нужно написать код, который пронумерует все файлы от 1 до последнего с фильтровкой по имени.
Например, были файлы: abc, test, а стали 1. abc, 2. test.
И еще нужна программа, которая удаляет определённое число знаков сначала имени файла.

Если можно, сам я ++ по чуть-чуть изучаю, но до операции с файлами еще не дошёл.
Аноним 31/01/17 Втр 19:44:44  923291
>>923290
>>923289
Аноним 31/01/17 Втр 19:48:17  923296
>>923290
http://stackoverflow.com/questions/14013145/windows-batch-file-rename
Аноним 31/01/17 Втр 19:57:39  923304
>>923296
Я не очень понял.
Аноним 31/01/17 Втр 20:04:53  923313
>>923290
Для твоих целей использовать плюсы не очень умно, лучше ебануть скрипт на питоне.
Если уже так хочешь плюсы - твоё дело. Гугли pstreams (удобный хедер для исполнения консольных команд прямо с твоей программы, умеет получать выхлоп команды в отличии от system(), интерфейс как у iostream)
Как приблизительно это должно работать?
Получаешь содержимое папки:
redi::ipstream getDir("ls /path/to/dir");
Затем по одному читаешь из потока названия файлов, копируя каждую строку (кроме тех, которые собираешься удалить) из исходного файла в новый, после чего удаляя исходный файл:
redi::opstream rm("rm /path-to-file/file.txt");

Или тебе просто готовый код?
Аноним 31/01/17 Втр 20:05:53  923317
>>923313
Мне не обязательно плюсы, просто плюсы - единственное что я смогу сделать из кода в компилируемый файл.
Я года 3 назад знал пхп, там я бы смог за 10 минут такую программу написать, но уже всё забыл.
Аноним 31/01/17 Втр 20:08:06  923322
>>923317
Тебе на какую ОС? Ибо команды в винде и лине отличаются, тот же код на обеих ОС работать не будет.
Аноним 31/01/17 Втр 20:08:33  923324
>>923322
Виндовс 10.
Аноним 31/01/17 Втр 20:43:15  923343
>>923324
набросал тебе первую программу. вторую слишком затратно писать на плюсах, ибо ей придётся копировать почти всё содержимое файла.
http://pastebin.com/eAix7Eyn
Аноним 31/01/17 Втр 20:46:22  923344
>>923343
А что определять в "pstreams/pstream.h"? У меня при компеляции пишет что нет такого файла / папки.
Аноним 31/01/17 Втр 20:54:47  923353
>>923344
Его докачать нужно.
https://sourceforge.net/projects/pstreams/
Аноним 31/01/17 Втр 20:56:30  923354
Capture.PNG (54Кб, 1160x910)
>>923353
Я уже понял, только всё равно какие-то ошибки выдаёт.
Аноним 31/01/17 Втр 20:57:32  923356
>>923354
Ты в "#include" проебал кавычки
Аноним 31/01/17 Втр 20:58:48  923358
Capture.PNG (57Кб, 979x758)
>>923356
Я что-то точно не понимаю.
Добавил ковычки.
Аноним 31/01/17 Втр 20:59:37  923359
>>923313
> использовать плюсы не очень умно
Часто встречаю замечания по поводу нерациональности, со стороны программиста, использования С++ для работы с ОС. Если кто-то считает, что плюсы и в правду не подходит для решения задач в ОС, объясните начинающему - почему?

Аноним 31/01/17 Втр 21:02:18  923361
>>923358
#include "pstream.h"
Аноним 31/01/17 Втр 21:02:41  923362
>>923359
>почему
Cкорость разработки. На условном питоне есть широкая поддержка работы с ОС прямо в стандартной библиотеке. Иными словами, на пейтоне ты напишешь 6 строк, а на с+ 36.
Аноним 31/01/17 Втр 21:03:41  923365
>>923359
Излишне сложно.
Аноним 31/01/17 Втр 21:03:52  923366
>>923361
Я это сделал, но у меня теперь такая ошибка: >>923358
Аноним 31/01/17 Втр 21:04:12  923367
>>923359
По одной простой причине: код на плюсах не кроссплатформенный. Там нет аналога <os> в той же жабе, или питоне. Вместо этого используется winapi или POSIX-вызовы.
Аноним 31/01/17 Втр 21:04:33  923368
>>923343
>вторую слишком затратно писать на плюсах, ибо ей придётся копировать почти всё содержимое файла.
Я в с+ треде или где?
http://www.cplusplus.com/reference/cstdio/rename/
Аноним 31/01/17 Втр 21:05:18  923370
>>923362
Скаченный файл перенеси в в директорию с сорс.срр.
Аноним 31/01/17 Втр 21:05:58  923372
>>923366
>>923370
Аноним 31/01/17 Втр 21:06:23  923374
>>923366
Извиняюсь, оно с виндой, как оказалось, не дружит. Попробуй версию 0.17, там ещё была совместимость (не факт, что скомпилируется). Если нет - сейчас поищу другую либу и перепишу
Аноним 31/01/17 Втр 21:07:45  923375
>>923367
js + os.js || electron = crossplatform forevaaa!
Аноним 31/01/17 Втр 21:07:55  923376
>>923367
Не совсем. Вроде в новом стандарте таки появились кроссплатформенные варианты работы с той же файловой системой благодаря бусту.

Хотя, если использовать буст, то получить кроссплатформенность можно, но программа будет занимать несколько больше.
Аноним 31/01/17 Втр 21:08:54  923377
>>923368
В глаза ебусь, прочитал как "определённое количество знаков в начале файла".
Аноним 01/02/17 Срд 01:45:28  923596
>>915840
>щас не нужны джуны
Как тогда стать мидлом?
Аноним 01/02/17 Срд 10:22:59  923707
>>923596
Берёшь, и становишься. Всё очень просто.
Аноним 01/02/17 Срд 11:38:48  923732
>>921845
>Почему ему работать с треугольниками куда эффективнее, чем с теми же квадратами?
Треугольник --- примитив растеризации. Квадрат --- два треугла.

>Почему при разработке игр и моделирования передвижения игрока по миру чаще всего двигают сам мир, а не персонажа в нем? Разве перемещение всех вершин не более затратная операция, чем перемещение вершин самого игрока?
Потому что отрисовываешь картинку относительно глаз персонажа, а не (0;0;0) мира
Аноним 01/02/17 Срд 18:10:35  923975
>>923732
> Потому что отрисовываешь картинку относительно глаз персонажа, а не (0;0;0) мира
А преимущество-то в чём?
Аноним 01/02/17 Срд 21:21:49  924155
Данные.png (2Кб, 258x134)
Как сделать так, чтобы данные типа float выводились с определенной точностью, например с точностью до сотой?
Аноним 01/02/17 Срд 21:38:45  924174
>>924155
Докатились... Ты шутишь, да?
Аноним 01/02/17 Срд 21:49:48  924181
>>924155
Это совсем уже платиновый вопрос.

[CODE]cout.precision(/number/); // задает количество знаков после десятичной точки
// где number - количество знаков после десятичной точки[/CODE]
Аноним 01/02/17 Срд 22:41:04  924228
>>924181
не работает эта ебатория
количество нулей не меняется(
делал как тут написано
http://www.cplusplus.com/reference/ios/ios_base/precision/
Аноним 02/02/17 Чтв 09:53:54  924489
>>924228
http://ideone.com/A0APTP
Ньюфаги, вы ополоумели? Ещё спросите как напечатать в консоль матрицу
Аноним 02/02/17 Чтв 11:03:54  924541
>>924489
Главное ответил на платину, и ещё жалуется.
Аноним 02/02/17 Чтв 12:10:36  924580
>>924489
А реально можно?

Мне в ВУЗе сказали, что нельзя
Аноним 02/02/17 Чтв 13:53:03  924649
Image 19.png (25Кб, 487x317)
Шта ита значит??
Аноним 02/02/17 Чтв 14:31:21  924661
>>924649
Это значит что ты либо записал не туда, либо удаляешь по хуевому указателю.
Аноним 02/02/17 Чтв 15:06:21  924673
>>924649
Программа не сильно большая?
Там в студийке под программы какое-то ограничение памяти есть
Аноним 02/02/17 Чтв 15:14:10  924680
>>924673
Небольшая, там картотека
>>924661
Да скорее всего это
Аноним 02/02/17 Чтв 15:32:18  924691
>>924541
Я новичок С++ тредов, но форс хаскеля ещё 4 года назад застал
Аноним 02/02/17 Чтв 16:40:54  924725
>>924691
>>новичок
>>4 года назад
Аноним 02/02/17 Чтв 17:14:11  924748
>>924725
Я не сидел все эти годы в /pr/
Аноним 02/02/17 Чтв 21:10:13  924952
>>923362
>>923365
>>923367
В какой области разработки С++ будет наилучшим выбором?
Аноним 03/02/17 Птн 00:47:50  925130
>>924952
геёдев
декстоп
ну и всё что связано с байтоёбством
Аноним 03/02/17 Птн 09:30:01  925224
>>925130
> декстоп
Выше сказано почему для декстопдева это не лучший вариант.
>геёдев
Что это?
Аноним 03/02/17 Птн 10:16:29  925238
>>924952
Никто не будет отвечать такому неуклюжему и жирному троллю
Аноним 03/02/17 Птн 12:24:42  925326
>>925224
>>геёдев
>Что это?
Разработка гей-ИИ
Аноним 03/02/17 Птн 13:22:19  925354
>>925224
>>геёдев
>Что это?
Gamedev же ну
Аноним 03/02/17 Птн 14:59:48  925427
Пора бы уже перекатиться
Аноним 03/02/17 Птн 18:28:45  925582
>>921845
>Почему при разработке игр и моделирования передвижения игрока по миру чаще всего двигают сам мир

Потому что ты двигаешь объекты виртуального мира проецируемые на монитор, а не монитор в виртуальном мире.
Аноним 03/02/17 Птн 18:38:55  925592
>>921845
Почему ему работать с треугольниками куда эффективнее, чем с теми же квадратами?

Вершины треугольника не могут не лежать в одной плоскости (это очевидно). А если взять квадрат из 4х вершин, и случайно подвинуть одну из вершин не перпендикулярно нормали этой плоскости, сломается геометрия (он уже перестает быть плоской фигурой, и чтобы исправить положение, придется его разбивать на треугольники вдоль одной из диагоналей). По этому любые многоугольники треангулируются, так проще - меньше логики (хотя бы в проверках), несколько проще элементы gpu (а значит их можно сделать большее количество за меньшие деньги)
Аноним 03/02/17 Птн 21:20:24  925777
Ананасы, есть ли какие-нибудь молодые перспективные можно и не очень проекты на github, куда может вкатиться ньюфаг?
Аноним 06/02/17 Пнд 00:41:42  927402
бамп
Аноним 06/02/17 Пнд 13:10:54  927565
бамп
Аноним 07/02/17 Втр 01:37:47  927997
>>925777
Удваиваю этого.
Аноним 08/02/17 Срд 20:08:50  928986
cropped-1600-90[...].jpg (767Кб, 1600x900)
Вы ЧЁ охуели?
Аноним 08/02/17 Срд 20:09:48  928987
Где перекот?
Аноним 08/02/17 Срд 20:25:49  929005
Допустим, есть 2 строки s1 и s2.
Требуется определить, "пересекаются" ли они общими частями (как на пикрилейтед). Есть ли что-нибудь в стандартных либах или в бусте, или нужно велосипедить?
Аноним 08/02/17 Срд 20:39:47  929021
>>928987
Надо стих придумать
Аноним 08/02/17 Срд 21:12:37  929049
>>929005
std::is_permutation() из algorithm
Аноним 08/02/17 Срд 21:56:39  929088
>>929049
Вообще не то.
В моём компиляторе нет нужной (!) функции в std moi !G7fD9hbHDM 09/02/17 Чтв 12:51:32  929403
В общем, есть файлы, из которых нужно собрать проект. Область: embedded. Моя задача: понять проект, собрать его, написать свою часть кода.

Ребята, которые написали сам код используют gnu компилятор какой-то версии из последних, где есть поддержка c++11.
Я использую компилятор от ARM 6.6 - это необходимо. В ARM6.6 есть поддержка с++11, но с некоторыми ограничениями.

Проблема заключается в том, что в проекте используется одна библиотека, где используется метод std::move. В свою очередь, в описании поддержки компилятором от ARM c++11 пишется, что std::move не поддерживается, но есть прямой аналог (то есть дают кусок кода) реализации с помощью static_cast.

То есть проблема: при сборке проекта у меня выбивает ошибку о том, что no member std::move was found, что весьма логично. А что мне делать?

Что нашёл и что непонятно:
1) Если менять функцию прямо в std, то получим undefined behavior. На практике получим ту же ошибку, то есть то, что member was not found
2) Менять компилятор - будет пиздец. А это вообще может быть выходом?
3) Как override функцию в std - может, я неправильно это делаю? В гугле вообще говорят что это бред, да и в принципе будет undefined behavior


большое спасибо, если кто выскажет свои мысли/решения.
Аноним 09/02/17 Чтв 14:00:18  929430
>>929403
решено, что помогло:
1) создаю move.h, где пишу
namespace std{
template<> return_value move(args) {....}
}
2) подключаю move.h именно там, где использую функцию std::move
3) profit

иду учить матчасть про неймспесы и переопределение
Аноним 10/02/17 Птн 03:02:02  929971
Ваш тред смыло. Перекатывать не собираетесь?
Аноним 10/02/17 Птн 09:17:44  930012
>>929971
Нам и тут хорошо.

>>929021
Аноним 11/02/17 Суб 20:47:29  931191
Хочу написать свой микросервис на крестах. Скажите с чего начать нюфагу, чтобы получился более-менее приличный production-ready код
Аноним 11/02/17 Суб 22:47:31  931262
>>930012
Как ты заебал уже
Аноним 12/02/17 Вск 16:30:05  931620
>>931191
Бамп куесчену!
Аноним 12/02/17 Вск 18:54:54  931748
>>931620
Он уже не бампается
Аноним 12/02/17 Вск 19:28:48  931765
Может всё же запилим перекат?
Аноним 12/02/17 Вск 19:36:01  931770
>>931765
Шапку прикреплённой темы читал?
Перекота забанили
Аноним 12/02/17 Вск 20:00:29  931804
>>931770
Я нихуя не понял. Там просят пересоздать. В чём проблема?
Аноним 12/02/17 Вск 20:02:49  931806
>>931804
>Я нихуя не понял. Там просят пересоздать. В чём проблема?
Почему это не сделать тебе?
Аноним 12/02/17 Вск 20:04:48  931808
>>931806
Меня малость пугает то, что никто этого делать не хочет. Это подозрительно, тут что-то не так
Аноним 12/02/17 Вск 20:38:39  931851
>>931770
При чем тут перекот. Если бы тред был с ним связан, его бы удалили, как остальные.
Аноним 12/02/17 Вск 20:43:29  931854
https://2ch.hk/pr/res/931827.html
https://2ch.hk/pr/res/931827.html
https://2ch.hk/pr/res/931827.html
https://2ch.hk/pr/res/931827.html
https://2ch.hk/pr/res/931827.html

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

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