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

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/ - Математика • Создай свою

[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 501 | 41 | 112
Назад Вниз Каталог Обновить

Нестареющий™ инновационный® C++ тред #43 Аноним 23/11/16 Срд 22:56:33  881172  
cpp.png (61Кб, 1385x1557)
wg21-1990-2014.png (1114Кб, 849x699)
CDgHspUkAEgLkR.jpg (64Кб, 600x450)
14795802864530.png (70Кб, 620x620)
Как много языков, молодящихся снаружи,
От старости бегущих в никуда...
Вполне понятно: с пропозалами мы дружим,
А вот с фичами всегда у нас беда...

Мы нацепляем лямбды, ranged-for,
Асинков побольше норовим засунуть в код...
И все нам кажется, что мы достойны трелей,
И студента в программисте можем разбудить...

Ну, хорошо, коль студент тот рядом,
А если он давно уж не студент?...
Смешно смотреть, заманивая скоростями,
Как приходится идти на беспредел...

И всё равно, что студент - уже бывалый программист:
На свой язык он смотрит сквозь стакан,
Последнее, что может быть неясно:
Когда раскроется вот этот весь обман?...

Быть может утром, в солнечном восходе,
Написав подлиннее так шаблон,
Проводишь молодость свою ты на пороге,
Поймешь: он старости такой не ждал...

А может все закончится в тот вечер,
Когда твои UB он разглядит,
Не будет ночи написанья кода...
Но даже в старости, монады манят нас.

Прошлый тред: https://2ch.hk/pr/res/866503.html

Q&A
Q: Где шапка?
A: У мочератора. В прошлом треде.

Q: Что делают хейтеры?
A: Сосут член вместе со своими мамашами.

Q: Что делают студенты с лабами?
A: То же, что и хейтеры
Аноним 23/11/16 Срд 23:02:05  881177
>>881172 (OP)
> let products = concatMap (\o -> products o) orders
> (\o -> products o)
facepalm.lhs
Аноним 23/11/16 Срд 23:02:39  881178
Так, хачкель - декларативный язык.
Чё ты хотешь от с++
Аноним 23/11/16 Срд 23:05:04  881180
>>881172 (OP)
Ну и про C++ — тоже лютая хуйня. Кто блядь возвращает ссылки на локальные переменные?
Аноним 23/11/16 Срд 23:05:18  881181
>>881177
Ну не знаю я хачкеля иначе не перекатывал бы этот тред, чо ты прицепился-то?
Тот же код без orders на конце как минимум в окемле валиден, хз что тут
Аноним 23/11/16 Срд 23:05:43  881182
>>881172 (OP)
>>881180
Т.е. нет. Там какой-то result, который неизвестно где объявлен.
Аноним 23/11/16 Срд 23:06:29  881183
>>881180
Иди почитай про rvalue, хачкиль мозги разъел.
Аноним 23/11/16 Срд 23:06:52  881185
>>881181
>чо ты прицепился-то?
(\x -> f x) это то же самое, что просто f. Это же очевидно. пиздец ты тупой.
Аноним 23/11/16 Срд 23:07:06  881186
>>881182
result == products
код писался в пэинте, если что.
Аноним 23/11/16 Срд 23:07:52  881187
STD = Sexually Transmitted Disease?
Аноним 23/11/16 Срд 23:08:12  881188
>>881183
Иди почитай стандарт. reference на локальную переменную после возврата из функции — dangling reference
Аноним 23/11/16 Срд 23:09:18  881189
В Haskell'e тоже надо всю эту хуйню задекларировать. Или по крайней мере import соответствующие библиотеки.
Правда, согласен, что все фичи, которые плюсовцы у хачкиля слизывали имеют ну совершенно невменяемый синтаксис!
Аноним 23/11/16 Срд 23:10:03  881191
>>881189
В Java 8 всё ещё хуже.
Аноним 23/11/16 Срд 23:13:10  881192
>>881172 (OP)
Профессионально кожу на С++. Синьер, СПб, 4 года опыта, проект 1 млн строк. Существует с 2005 года. Переписывался, но целиком никогда. С++ лютый калл, просто лютейший. Сервер компилит с -Wall -Werror. Это просто какой-то калл нереальный. Эти суки тупые всё никак не придумают модули. Ебаные модули из джавы. За 15 лет хуй, не сделали. Если выходит так, что один инклюдит другой и тот инклюдит первый, то это ад пиздец. Разгребать. На любой чих - typedef. Не там поставил, где-то нужно - ебись протаскивай. Либы под платформы и ендианы. иф эндиан - хуяк, елс фигак. Гавно ебаное кароч.
Аноним 23/11/16 Срд 23:13:36  881193
>>881188
/0
Нет, но ты все же сходи почитай что такой этот магический &&. Никакой ссылки не возвращается.
>>881189
Братан, ну это уже материал для целого треда. Я просто сделал картинку для привличения внимания (и кстати нормально так бахнуло).
Аноним 23/11/16 Срд 23:13:59  881194
1470025244052.jpg (291Кб, 1648x1098)
Вообще C++ - это такая параша.
Ненавижу.
А Степанов - пидор.
Аноним 23/11/16 Срд 23:15:16  881196
>>881192
> 1 млн строк
это слишком много для хэллов ворда.
Аноним 23/11/16 Срд 23:16:14  881197
>>881196
Движок игровой, мб.
Аноним 23/11/16 Срд 23:16:26  881198
>>881193
> Никакой ссылки не возвращается.
Да, потому что это говно даже не скомпилируется. http://ideone.com/gVSNI5
> магический &&
"Магический" он для новых ньюфагов вроде тебя.
Аноним 23/11/16 Срд 23:17:40  881199
>>881194
Да, ты прав, это жутчайшая параша, на которой однако можно написать парашу побыстрее чем на няшной (ридонли правда как правило,ы).
Аноним 23/11/16 Срд 23:19:26  881201
>>881196
Это продакшен код. Его проверяют PVS-студией и прочим. Проект знают только 2-3 лида. Остальные вообще не рубят. Когда кода очень много, а поддерживать скорость разработки и гибкость надо, то код превращяется в месиво из указателей (шаредпоинтеров) и интерфейсов. IObjectSetterListenerGetterOnly достаешь и пытаешься что-то делать. В IDE не проверить. Только в реалтайме.

>>881197
Да. Чей, вы знаете сами. В ДС2 вариков не много.
Аноним 23/11/16 Срд 23:20:36  881203
>>881197
>Движок игровой, мб.
мб, но это показатель мегахуевой архитектуры. хотя индусам за количество строк и платят, кек.
Аноним 23/11/16 Срд 23:21:36  881204
>>881201
>Это продакшен код.
хуякшен
Аноним 23/11/16 Срд 23:23:03  881207
>>881203
Я бы с тобой сейчас очень поспорил. Чем выше гибкость - тем выше абстрактность. И самые гибкие вещи в итоге становятся просто дико абстрактными.
Аноним 23/11/16 Срд 23:23:37  881209
>>881198
http://ideone.com/ZLIl7v
Спутал с && в аргументах, не суть. Придираться к коду написанному в пэинте наобум - это конечно сильно.
Аноним 23/11/16 Срд 23:24:47  881210
>>881207
>абстрактность
это лютейшее зло, избегай его.
Аноним 23/11/16 Срд 23:25:25  881211
The Saber 3D engine is Saber Interactive's proprietary engine. The engine was first used on Will Rock (published by Ubisoft), and the recently released God Mode (published by Atlus).The game engine is currently in its fourth stable version (Saber 3D, v.S4).
Аноним 23/11/16 Срд 23:25:37  881213
>>881209
Я тебе ещё раз говорю: у тебя dangling reference.
Аноним 23/11/16 Срд 23:25:48  881214
>>881210
Теорию графов тоже избегать?
Аноним 23/11/16 Срд 23:27:03  881215
>>881214
>Теорию графов
ты мтаноблядь что ли? если да, тогда многие вопросы отпадают
Аноним 23/11/16 Срд 23:33:14  881221
>>881209
prog.cc:6:2: warning: Address of stack memory associated with local variable 'i' returned to caller
return std::move(i);
^~~~~~~~~~~~~~~~~~~
Аноним 23/11/16 Срд 23:33:52  881222
nphard.PNG (109Кб, 819x452)
>>881215
>ты мтаноблядь
Нет.
Аноним 23/11/16 Срд 23:37:39  881223
Сиплюсплюсеры продемонстрировали тотальное непонимание элементарных понятий своего языка в своём же ITT-треде начиная с ОП-поста...

Это win!
Аноним 23/11/16 Срд 23:38:11  881224
>>881222
>матроид
паржал, даже слова такого не знаю. теперь объясни на пальцах, в каком софте эта хуйня востребована?
Аноним 23/11/16 Срд 23:39:06  881225
>>881223
Я бы сказал так: умудрились написать программу в пару строчек, которая течёт. Хорошо демонстрирует суть языка.
мимиоп
Аноним 23/11/16 Срд 23:40:28  881227
>>881225
Да нет, это только вашу ньюфажную суть демонстрирует.
Аноним 23/11/16 Срд 23:40:36  881228
>>881225
>умудрились написать программу в пару строчек, которая течёт
де линк? хочу вкусить
Аноним 23/11/16 Срд 23:41:30  881230
>>881228
> де линк?
4-й пик.
Аноним 23/11/16 Срд 23:41:36  881231
>>881223
Зачем понимать что-то если у тебя уже есть контракт на миллионы долларов на десятки лет.

>>881224
Я тоже ржу каждый день. С тех кто вообще вкладывает деньги в С++ и меня. Но пока вкладывают.

>>881211
Не знаю ничего про них. Движок могут вообще в США писать. Там у них 10 человек. А В рашке арт и скрипты.
Аноним 23/11/16 Срд 23:42:58  881232
>>881225
> которая течёт
Кстати, она не течёт. Ты опять облажался. Она приводит к UB, если кто-то воспользуется этой висячей ссылкой.
Аноним 23/11/16 Срд 23:45:40  881234
>>881224
Для составления алгоритмов, наверное.
1. Let P := x1 and i := 2.
2. If i > n go to Step 7.
3. Let P = y1y2 . . . yi−1 be the current path.
4. If xi→y1 then P := xiP. Let i := i + 1 and go to Step 2.
5. If yi−1→xi then P := Pxi. Let i := i + 1 and go to Step 2.
6. For j = 1 to i − 2 do: If yj→xi→yj+1 then P := P[y1, yj]xiP[yj+1, yi−1].
Let i := i + 1 and go to Step 2.
7. Return the path P.
Аноним 23/11/16 Срд 23:46:00  881237
>>881232
Самое главное — что ты смог так точно проанализировать код написанный с максимально утрированной вырвиглазистстью в пэинте. Браво!
Аноним 23/11/16 Срд 23:46:12  881238
>>881231
>на миллионы долларов на десятки лет
вас где-то наебали
Аноним 23/11/16 Срд 23:47:23  881239
>>881237
Да насрать на пэинт. Я не обращаю внимания на то, что ты локальную переменную назвал неправильно в return-е или что std::move "забыл". Я про суть.
Аноним 23/11/16 Срд 23:48:02  881240
>>881234
> Для составления алгоритмов
ага, наверное обход контура ну или нахождения кратчайшего пути? правда? так вот, вся эта матанохуйня там нинужна
Аноним 23/11/16 Срд 23:53:27  881242
>>881239
>что std::move "забыл"
Код читать умеешь — человеческую речь не умеешь. Суть.

Я так же уже писал почему сделал такую хуйню
>>881237
>максимально утрированной вырвиглазистсть
но видимо всё же это непростительно. Пойду в окно прыгну.
Аноним 23/11/16 Срд 23:56:25  881243
14426736953802.jpg (38Кб, 360x288)
>>881231
>Не знаю ничего про них.
Сперасофт? Варгейминг?
Аноним 24/11/16 Чтв 00:01:17  881247
Screenshot at 2[...].png (35Кб, 1103x248)
>>881209
Мне, кстати, поведение gcc нравится. UB так UB! Вернём нулевой указатель!
Аноним 24/11/16 Чтв 00:02:31  881248
>>881243
>Сперасофт
Слава Богу, ушел!!! Так как зарплату постоянно задерживали. Но, об этом можно догадаться и по предыдущим отзывам работников данной компании. Руководители заинтересованы в своем заработке, а не в вашем процветании. Будут мотать нервы, давать нелогичные задания, лишь бы меньше платить. Никто не станет на вашу сторону, и тем более не войдет в сложившуюся ситуацию.
Обещали спорт, как элемент социального пакета. Забудьте, такого вам не видать. Могут вас подставить и без единого сожаления и колебания, уволить. Менеджеры прикрывают косяки друг друга. Их главная задача, не качественно выполнять работу, а прогибаться под начальство. И, конечно же, подлизаться к клиентам компании, дабы те не пошли жаловаться. Одним словом, работников не считают за людей, так дополнительная рабская сила. Которую в любой момент могут заменить, более удобным вариантом…для них конечно.
Аноним 24/11/16 Чтв 00:03:43  881249
>>881248
спермасофт, кек
Аноним 24/11/16 Чтв 00:48:32  881269
>>881172 (OP)
D:
auto products = orders.map!products.joiner.array;
Аноним 24/11/16 Чтв 01:08:27  881278
>>881269
products должна быть функцией, и должна вызываться ко всем элементам списка рекурсивно и возвращать лист, насколько я понял из того кода, так что нет.

Руст:
fn products(self) -> LinkedList<Products> {
orders.iter().flat_map(|o| o.products()).collect()
}
Аноним 24/11/16 Чтв 02:18:43  881296
lerdorf.jpg (138Кб, 1280x720)
Аноним 24/11/16 Чтв 02:19:49  881297
LeopoldDukeofBr[...].jpg (65Кб, 938x1330)
На фото бельгийский Гитлер - император Леопольд Второй - в юношестве.
Аноним 24/11/16 Чтв 03:22:26  881314
orders >>= products
Аноним 24/11/16 Чтв 04:12:22  881321
>>881297
Девочка, вроде.
Аноним 24/11/16 Чтв 09:46:29  881360
>>881278
> рекурсивно
Не понял.
> так что нет
Да как так-то?
http://ideone.com/co5ynm
Аноним 24/11/16 Чтв 09:53:26  881363
анон, что-то я туплю
как написать функцию, которая заполняет поля структуры через scanf и как лучше эту функцию принимать, через указатель?
http://pastebin.com/3ndaKRfH
в VS выделяет book в сканфах и пишет expression must have a class type
Аноним 24/11/16 Чтв 10:26:50  881369
>C++
>заполняет поля структуры через scanf
Я новенький, но мне здесь уже нравится!
Аноним 24/11/16 Чтв 11:56:54  881396
>>881210
>это лютейшее зло
Только для макак.
>избегай его
Вон результат этого >>881201

Хотя какие-то даунята всё еще считают, что абстракции это только прокси-фабрики бобов.
Аноним 24/11/16 Чтв 13:17:38  881433
Посоветуйте книжку, которая научит меня легко и приятно пользоваться C++ в новом проекте без легаси. Чтобы программировать как нормальный человек с лучшими практиками на 2016 год, без троллинга.

Писал раньше на C++ в КБ студентом, но в основном это были древние стандарты да и глупый я был.
Аноним 24/11/16 Чтв 15:03:34  881494
>>881433
Сам таким был. Липмана читай, не делай заданий, потом просмотри Майерса (эфективные кресты и эфективный стл). Далее что-то о проэктировании, я нихуя не читал кроме дядюшки Боба, потому я и вечный джун (хотя и мидлом числюсь).
Аноним 24/11/16 Чтв 16:16:21  881513
Полон тред какого-то невообразимого говна.
Вас всех надо расстрелять просто, всем лучше от этого будет.
Вам самим тоже.
Аноним 24/11/16 Чтв 16:43:13  881526
>>881513
Sasi
Аноним 24/11/16 Чтв 16:58:00  881528
>>881396
>Вон результат этого
Наоборот, это результат того, что они пытаются лепить "движок" с абстракциями. Чем больше абстракций, тем больше лапши и говна в итоге, потому что все абстракции протекают.
Аноним 24/11/16 Чтв 16:59:56  881529
>>881528
С точки зрения умственно неполноценного быдла - несомненно.
Аноним 24/11/16 Чтв 17:22:15  881532
>>881528
>Чем больше абстракций, тем больше лапши и говна в итоге, потому что все абстракции протекают.
Ты блин альтернативу предложи, как лучше писать что-то сложнее laba1
Аноним 24/11/16 Чтв 17:41:45  881537
>>881532
>как лучше писать
отсекая все лишнее, аки окама. тот анон прав, абстракция тянет слишком много ненужного кода.
Аноним 24/11/16 Чтв 17:51:17  881538
>>881537
Всё лишнее это что? Вот у тебя есть что-то что должно поддерживать кучу форматов, устройств, протоколов и прочее. У тебя будет 100500 интерфейсов по 1000 строк лишь бы это всё заработало. А еще межбиблиотечное взаимодействие и прочее.
Аноним 24/11/16 Чтв 17:51:24  881539
>>881537
Просто ты тупое и мелкобуквенное
Тебе не понять.
Аноним 24/11/16 Чтв 17:51:54  881540
>>881538
>поддерживать кучу форматов, устройств, протоколов и прочее
ето все лишнее
Аноним 24/11/16 Чтв 17:59:44  881542
>>881538
риалстори, сейчас пишу байндинг к одному движку, реализаций таких движков несколько, у каждой своя архитектура и свои ньюансы, писать абстракцию просто невыгодно, заточенный и протестированый код с одного движка за неделю переносится на другой. нет абстракций, код прост, мал и понятен.
Аноним 24/11/16 Чтв 18:01:22  881543
>>881542
>просто невыгодно
А, так ты индус с построчной оплатой.
Самое место тебе, впрочем.
Аноним 24/11/16 Чтв 18:05:22  881544
>>881543
ты долбаеб? твоя абстракция будет больше по размеру, чем две разные реализации.
Аноним 24/11/16 Чтв 18:08:00  881545
>>881544
Если ты криворукий дебил.
Впрочем, ты и есть.
Аноним 24/11/16 Чтв 18:09:55  881546
>>881545
ты какая-то агрессивная крестоблядь, впрочем ничего удивительного
Аноним 24/11/16 Чтв 18:10:48  881547
>>881532
>Ты блин альтернативу предложи
Рефакторинг и переписывание. Изначально делать код, который легко изменять и переписывать большими кусками. Лепить костыли поверх абстракций, которые устарели - это самый плохой вариант.
Аноним 24/11/16 Чтв 18:12:01  881548
>>881546
>агрессивная
Но я даже не вышиб тебе все зубы, няша.
Аноним 24/11/16 Чтв 18:14:48  881551
>>881547
>абстракций, которые устарели
Делать устаревающие абстракции - это надо быть реально умственно неполноценным.
Люди, вы омерзительны.
Аноним 24/11/16 Чтв 18:20:37  881553
>>881551
>Делать устаревающие абстракции
Ну не все же ясновидящие Ванги, чтобы все точно наперед придумать.
Аноним 24/11/16 Чтв 18:22:38  881554
>>881546
>агрессивная крестоблядь
Он походу вонаби хачкелист, жабамакака ИРЛ.
Аноним 24/11/16 Чтв 18:26:48  881559
>>881553
>не все же ясновидящие
Это только твоя вина.
Работай над собой, животное.
Аноним 24/11/16 Чтв 18:27:59  881560
>>881513
зачем кого то расстреливать
все нежиснеспособное самоликвидируется в мире постмодерна
Аноним 24/11/16 Чтв 18:28:58  881562
>>881433
>C++ в новом проекте без легаси
пишешь из страны розовых пони?
Аноним 24/11/16 Чтв 18:29:34  881564
>>881560
>зачем кого то расстреливать
И то правда, вы даже пули не заслуживаете.
Утопить в выгребной яме.
Аноним 24/11/16 Чтв 18:30:10  881566
>>881553
ну дя, абстракции нужно всеравно допиливать. кстати это же типа абстрактный класс и наследование (я выкатился из крестов, кек) и проблемы теже...
Аноним 24/11/16 Чтв 18:30:59  881567
>>881566
>абстракции
>это же типа абстрактный класс
Дегенерат as is.
Аноним 24/11/16 Чтв 18:41:06  881573
>>881559
>Это только твоя вина
Перестанешь лабы писать - поймешь, что мир сложнее, чем тебе кажется.
Аноним 24/11/16 Чтв 18:49:24  881578
>>881573
>эти проекции галерного гребца
As expected.
Аноним 24/11/16 Чтв 18:56:09  881582
>>881578
Этот юношеский максимализм...
Аноним 24/11/16 Чтв 18:56:44  881583
>>881582
>...
Ясно.
Аноним 24/11/16 Чтв 19:06:30  881586
>>881583
... и черно-белый взгляд на мир.
Аноним 24/11/16 Чтв 19:14:57  881591
>>881586
Вовсе нет, бывают и совсем не глупые люди.
Хотя абсолютное большинство - как ты или даже хуже, это да.
Аноним 24/11/16 Чтв 19:24:24  881597
>>881586
в россии лучше видеть все пятьюдесятьми оттенками серого
чтобы было как руSSкое небо 9ть месяцев в году
Аноним 24/11/16 Чтв 19:46:12  881608
у меня насчет бд вопрос возник. можно чисто теоретически представить реляц. бд без связей вообще? просто огромное количество таблиц, просто манипулируем без задней мысли sqlем. получается, связи нужны только для программиста, чтобы он понял что там к чему? или они нужны для каких-то хитровыебанных операций?
Аноним 24/11/16 Чтв 20:01:09  881615
>>881608
Можно вообще всю бд в одну таблицу запихать, в одну колонку и блобом. Только нахуя?
> реляционная
> без связей
Ты можешь не делать явных внешних ключей, но тогда будь уверен, что не выстрелишь себе в ногу. А связи по данным хотя бы ради дедупликации нужны.
У нас например вначале было много внешних ключей, но когда архитектура устоялась и код работы с бд перестал трогаться, то ради производительности их отключили.
Аноним 24/11/16 Чтв 22:33:35  881681
SlumberPartyBou[...].jpg (216Кб, 620x412)
Есть двумерный масив (вектор векторов).
Каждый елемент масива - слово.
Каким алгоритмом вывести в файл все возможные комбинакции слов таким образом, что слова из N строчки масива могут идти, только после слов N-1 строчки. То есть
1-2-3
4-5
0
6-7
Дает комбинации:
1406
1407
1506
1507
2406 и тд.
Без деревьев никак?
test Аноним 24/11/16 Чтв 23:05:04  881695
#include  <iostream>
#include  <chrono>
#include  <asio.hpp>

void  print(const  asio::error_code&  /*e*/)
{  std::cout  <<  "Hello,  world!"  <<  std::endl;  }

int  main()

using  namespace  std::chrono_literals;
asio::io_service  io;

asio::steady_timer  t1(io,  2s);
t1.async_wait(&print);
asio::steady_timer  t2(io,  3s);
t2.async_wait(&print);

io.run();
test Аноним 24/11/16 Чтв 23:06:08  881696
#include  <cstdio>
#include  <typeinfo>
 
struct  ass  {
        virtual  ~ass()      {  printf("%s  with  %p\n",  __PRETTY_FUNCTION__,  this);  }
        virtual  void  f()  {  printf("%s  with  %p\n",  __PRETTY_FUNCTION__,  this);  }
};
 
int  main()

        ass  ass;
        void**  pvtbl  =  reinterpret_cast<void***>(&ass)[0];
 
        printf("%p\n",  &typeid(ass));
        printf("%p\n",  pvtbl[-1]);
Аноним 24/11/16 Чтв 23:48:22  881723
>>881695
>>881696
Мочерок!
А подпишись модно, --м :3
Аноним 25/11/16 Птн 00:06:24  881730
Надо запилить в борланде такую штуку, типа в зависимости от номера нажатой кнопки (1-9) будут выводиться значения из определенных ячеек в stringgrid'е. Допустим, нажата 1 - в label выводятся значения 1,2,5,6 ячейки. Нажата 2 - выводятся значения 3,4,7,8 ячейки. Нажата 3 - выводятся значения 5,6,9,10 ячейки и т.д. Как это осуществить вообще?
Аноним 25/11/16 Птн 01:46:18  881761
Анон, объясни, пожалуйста.
В чём профит обходить контейнер используя r-value?
Я имею ввиду вот такое: for( auto &&e : entities )
У меня с move-семантикой пока не лады. Всё никак не могу врубиться у неё. Особенно с perfect-forwarding и прочим таким.
Аноним 25/11/16 Птн 02:05:43  881766
14514921147670.png (2030Кб, 1280x1707)
wSS3klR9doA.jpg (43Кб, 483x604)
Не пойму один момент из книги С. Прата - Язык С++. Лекции и упражнения. А именно:
const free_throws & clone (free_throws & ft.)
{
free_throws pt;
pt = ft; // копирование информации
return pt; // возврат ссылки на копию
}
Первый оператор создает безымянную структуру f ree_throws. Указатель pt
указывает на эту структуру, таким образом,
pt — это сама структура. Создается
впечатление, что приведенный выше код возвращает структуру, однако объявление функции
отражает, что она возвращает ссылку на эту структуру.

Схуяли так можно делать? Ведь мы объявили, что функция возвращает ССЫЛКУ НА СТРУКТУРУ. Но при этом возвращает просто СТРУКТУРУ...
Аноним 25/11/16 Птн 02:07:33  881767
>>881766
>fix
Аноним 25/11/16 Птн 03:25:07  881775
>>881766
>>881767
Он тут херни понаписал.

Во-первых. В объявлении pt не хватает "= new free_throws". Далее по тексту у него написано: "free_throws & jolly = clone(three);", хотя должно быть: "free_throws const & jolly = clone(three);", т.к функция возвращает ссылку на константу. А в следующем абзаце, он перепутал clone() с call().
Во-вторых. pt - это указатель. Разыменование (pt) указателя дает нам ссылку на структуру, а не саму структуру, как он написал. Соответственно, с возвратом из функции всё хорошо.
Аноним 25/11/16 Птн 03:27:33  881776
>>881775
От сука, это говно что, любые звёздочки жрет!?
Там перед pt, в скобках, звезда.
Аноним 25/11/16 Птн 03:59:03  881782
>>881775
>Разыменование (pt) указателя дает нам ссылку на структуру, а не саму структуру
Вот тут не понял. Схуяли?
Аноним 25/11/16 Птн 05:26:32  881784
>>881782
Такие правила. http://ideone.com/MXVby0
Иначе ты бы не смог изменять херь, на которую указатель ссылается, т.к всегда бы получал копию.
Аноним 25/11/16 Птн 09:17:20  881826
>>881761
Погугли, на SO несколько раз обсасывалось.
Аноним 25/11/16 Птн 11:48:40  881854
>>881172 (OP)
вот дауны
T&& f() { T t; return t; }
полностью эквивалентно
T f() { T t; return t; }
Аноним 25/11/16 Птн 12:07:28  881859
>>881562
Пишу критичный к производительности VST плагин
Аноним 25/11/16 Птн 13:11:57  881894
>>881854
>полностью эквивалентно
Нет, конечно. Первый вариант возвращает ссылку на временный объект.
Аноним 25/11/16 Птн 13:19:26  881895
>>881859
>VST
Расшифруй.
Аноним 25/11/16 Птн 13:54:57  881909
14756101837400.jpg (149Кб, 1200x800)
YMptgIe6POQ.jpg (51Кб, 604x586)
>>881784
>Такие правила.
А где можно узнать эти "правила"? Хотелось бы увидеть этот пункт, где будет написано: "... когда объявляет ссылку на структуру, а возвращаем структуру, то будет возвращаться ссылка, а не объект". А то блядь получается, что читаешь книгу, в ней пишут что нужно возвращать то, что объявлено в прототипе функции. А применяем уличную магию. Почему? Потому что можем себе позволить. Попахивает каким то очень сильным колдунством,а не программированием.
Аноним 25/11/16 Птн 14:04:00  881911
Посоны, есть один бинарь одной корейской дрочильни.
В этих файлах хранятся всякие текстуры, картинки, модели и прочее говно. В файлах есть заголовок со всякой инфой, в том числе названия файлов, их оффсеты, размеры и прочее.
Так вот, под название там выделено ровно 512 байт, но строки там хранятся как-то ебануто. Не обычная сишная строка с нулём на конце, нет, там нуль после КАЖДОГО БЛЯДСКОГО СИМВОЛА НАХУЙ!
Ну вот допустим строка "300" там не "33 30 30 00", а "33 00 30 00 30 00", ну и нулями заполнено в конце свободное место.
Собственно вопрос, как эту парашу привести в читаемый вид?
Аноним 25/11/16 Птн 14:49:53  881932
>>881909
> А где можно узнать эти "правила"?
В стандарте можно: http://eel.is/c++draft/expr.unary.op#1 Но тебе туда рано, наверно.

> нужно возвращать то, что объявлено в прототипе функции
Ну всё так и есть. У тебя же не возникает вопросов с (int a; int &r = a;). Инициализировали ссылку не ссылкой. Тоже самое с возвратом по ссылке из функции, с тем исключением, что возвращаемый объект должен жить дольше чем тело функции. В нашем случаее мы объект создали на куче, соответственно он живет пока мы выделенную под него память не освободим.
Аноним 25/11/16 Птн 14:54:35  881933
>>881911
> нуль после КАЖДОГО БЛЯДСКОГО СИМВОЛА НАХУЙ!
>Ну вот допустим строка "300" там не "33 30 30 00", а "33 00 30 00 30 00"
Это называется UTF-16 (лень думать это BE или LE)

> Собственно вопрос, как эту парашу привести в читаемый вид?
Ищи про конвертацию utf16->utf8
В стандартной либе есть какие-то codecvt_blah_blah, но их использование геморройно.
Аноним 25/11/16 Птн 14:56:30  881934
>>881911
пиздос, ты про не слышал UTF-16?
Аноним 25/11/16 Птн 14:57:40  881935
>>881933
Спасибо.

>>881934
Слышать-то слышал, а вот видеть не приходилось.
Аноним 25/11/16 Птн 14:59:03  881936
>>881935
Вот http://utfcpp.sourceforge.net/
Говорят, header-only и API выглядит просто.
Аноним 25/11/16 Птн 15:01:38  881937
>>881935
>>881936
Для хранения utf16 вместо std::vector<unsigned short> (как на сайте), думаю, можно брать std::u16string
Аноним 25/11/16 Птн 17:23:34  882018
Прата С. - Язык[...].jpg (910Кб, 3230x2188)
-3glmXNKCVg.jpg (55Кб, 604x453)
>>881932
Еще один вопрос, анон. Посмотри на пик, почему <int>, если там job?
Аноним 25/11/16 Птн 17:41:29  882033
>>882018
Опечатка. У Праты полно такого.
Аноним 25/11/16 Птн 17:53:54  882039
HeCam87kz0.jpg (86Кб, 604x604)
1358337579909.jpg (234Кб, 1151x731)
1364673192162.jpg (26Кб, 400x540)
>>882033
Еще такой вопрос, в чем отличие явной специализации от экземпляра шаблона?

P.S.: Блядь, ну просто полный пиздос. Я сижу, обложившись бумажными версиями 4го издания (Platinum Edition) и 6го издания. Плюс в электронном виде 5ое издание. А также 4ое, 5ое, 6ое издания в оригинале. Опечаток просто тьма нахуй.
Аноним 25/11/16 Птн 17:57:43  882040
>>881936
>>881937
Ещё раз спасибо, котоны. То что нужно.
Аноним 25/11/16 Птн 18:40:45  882058
>>882039
Специализация, это ты можешь взять шаблон и написать разную реализацию для разных типов.
Создание экземляра, это ты просишь компилятор сгенерировать код для конкретного типа.

[CODE]
// основной шаблон
template <typename H>
struct P
{
H d;
};

template <>
struct P<int> // специализация P для int
{
int d;
int e;
};

template struct P<double>; // явно попросили создать экземпляр P для double

/ компилятор сгенерирует код по основному шаблону, заменив H на double.
template <>
struct P<double>
{
double d;
};
/

int main()
{
P<int> a; // В a есть d и e, т.к для P<int> есть своя реализация.
P<char> b; // В b есть только d. P<char> сгенерирован неявно по основному шаблону.
}
[/CODE]
Аноним 25/11/16 Птн 18:52:27  882065
Джентельмены, касаемо инструментария. Тут такое дело, я учу с++ используя code::blocks. Кто мне подскажет, как изменить цвет комментариев в редакторе Блядь, ну правда, сейчас бы читать светло-серые комменты на черном фоне, охуенно же

А еще, был бы благодарен, если бы мне подсказали еще, как там изменить цвета фона и остального текста
Аноним 25/11/16 Птн 18:53:21  882067
>>882065
А еще я долбоеб, забывший про знаки вопроса. Третье предложение текста -- это таки вопрос. Заранее спасибо
Аноним 25/11/16 Птн 18:56:48  882070
>>882065
И фон -- таки белый. Что-то я жестко туплю, надо спать идти
Аноним 25/11/16 Птн 19:43:37  882109
Перекатился в джаву, теперь меньше воюю с инструментом и в целом больше доволен программированием. Чего и вам советую.

бывший-оп-революционер
Аноним 25/11/16 Птн 19:46:22  882112
>>882109
Ябы и не против, но я Классический студент с лабами
Аноним 25/11/16 Птн 21:30:30  882158
1.png (14Кб, 667x556)
2.png (8Кб, 503x230)
Я наверное всех заебал, спрошу еще раз.
Пикрелейтед - функция для перемещения матрицы 2х2 в зависимости от кнопки на 90 градусов. И теперь для каждой кнопки нужно прописать следующие значения переменных:

кнопка 1: row=0, column=0;
кнопка 2: row=1, column=0;
кнопка 3: row=2, column=0;

кнопка 4: row=0, column=1;
кнопка 5: row=1, column=1;
кнопка 6: row=2, column=1;

кнопка 7: row=0, column=2;
кнопка 8: row=1, column=2;
кнопка 9: row=2, column=2;

Вопрос: как это делается, как не прописывать вызов функции для каждой кнопки, а засунуть все это в цикл или что-то подобное?
Аноним 25/11/16 Птн 22:07:17  882171
>Бьерн Страуструп - Программирование. Принципы и практика использования C++
>Стэнли Липпман, Жози Лажойе - Язык программирования C++
>Стивен Прата - Язык программирования C++
Котаны, посоветуйте с чего лучше начать?
С программированием и базовыми конструкциями (if, for, while) знаком. Delphi
Аноним 25/11/16 Птн 22:13:36  882175
seal1.jpg (92Кб, 660x495)
>>882158
> 2017
> программирование мышкой
Аноним 25/11/16 Птн 22:20:29  882180
>>882109
Да, если все равно что кодить, и область деятельности в целом безразлична - то кресты один из самых поганых вариантов для работы программистом.
Аноним 25/11/16 Птн 22:46:08  882197
>>882171
>Стивен Прата - Язык программирования C++
this

P.S.: Правда стоит заметить, что очень много опечаток и перевод чем дальше (в смысле номера издания), тем хуже.
>>882158
>Пикрелейтед - функция для перемещения матрицы 2х2 в зависимости от кнопки на 90 градусов.
уже.

Это называется поворот, а не перемещение.
Аноним 26/11/16 Суб 00:33:08  882249
>>882197
>Правда стоит заметить, что очень много опечаток и перевод чем дальше (в смысле номера издания), тем хуже.
Это вот пиздец конечно. Не первый раз с таким сталкиваюсь в технической литературе. За что только деньги переводчикам платят?..
Аноним 26/11/16 Суб 00:36:15  882251
.jpg (25Кб, 381x500)
.jpg (99Кб, 607x800)
>>882249
> За что только деньги переводчикам платят?..
За копипаст в переводчик.
Аноним 26/11/16 Суб 00:44:23  882254
>>882251
Пиздец. Они реально перевели "в ореховой скорлупе"?
Аноним 26/11/16 Суб 01:02:11  882262
>>882251
>>882254
А как надо было?
Аноним 26/11/16 Суб 01:30:20  882274
>>882262
одним словом, вкратце, кратко, в двух [нескольких] словах
Аноним 26/11/16 Суб 01:31:41  882275
1468442953268.jpg (2044Кб, 2001x3000)
Аноним 26/11/16 Суб 01:33:43  882277
1453670268467.jpg (127Кб, 720x960)
Аноним 26/11/16 Суб 01:36:07  882278
>>882197
> уже.
Что уже-то? Что дальше? Теперь у каждой кнопки что ли прописывать?
void __fastcall TForm1::Button1Click(TObject Sender)
{
row = 0; column = 0;
Func();
}

void __fastcall TForm1::Button2Click(TObject
Sender)
{
row = 1; column = 0;
Func();
}
.
.
.
void __fastcall TForm1::Button9Click(TObject *Sender)
{
row = 2; column = 2;
Func();

Как-то же это сокращается?
Аноним 26/11/16 Суб 02:05:11  882289
>>882251
Страдаем-то из-за этого мы.
>>882254
Да нормально же, чего ты начинаешь.
Вот уж где фэйл так это атака НА титанов
Аноним 26/11/16 Суб 02:58:39  882299
Кто любит ебать себе мозг и ковыряться в чужом говнокоде — помогите мне с последним заданием на codeforces.
Задача: http://codeforces.com/contest/733/problem/F
Мой код: http://codeforces.com/contest/733/submission/22498991
Задача про теорию графов.

Прога стопится на одном из дальних тестов по причине превышения лимита времени, хотя остальные тесты проходит с близкой к идеальной скоростью.

Все алгоритмы применяемые в коде имеют в наихудшем варианте асимптотику O(logN).

Можно заметить что все тесты до 42 имели количество нод 650 (за исключением самых первых), в то время как в 42 тесте их стало 10к. Судя по всему проблему надо искать в этом направлении.
Аноним 26/11/16 Суб 20:43:25  882659
ананасы, подскажите пожалуйста, как изменить цвет кнопки не использую setStyleSheet
Аноним 26/11/16 Суб 20:43:57  882660
>>882659
забыл добавить, в qt 5
Аноним 26/11/16 Суб 22:03:38  882721
main-d996c805ec[...].jpg (87Кб, 600x398)
seal-461910.jpg (34Кб, 590x350)
Laughing-seal.jpg (372Кб, 2197x1463)
>>882278
> RAD (от англ. rapid application development — быстрая разработка приложений) — концепция создания средств разработки программных продуктов, уделяющая особое внимание быстроте и удобству программирования, созданию технологического процесса, позволяющего программисту максимально быстро создавать компьютерные программы.
>Как-то же это сокращается?

Что, RAD Studio (или её огрызок) не очень способствует быстрой разработке приложений?
Аноним 26/11/16 Суб 22:08:33  882723
seal4.jpg (74Кб, 660x495)
laughingseal.jpg (459Кб, 1000x667)
laughing-elepha[...].jpg (281Кб, 644x429)
>>882278
> C++ Builder (по-русски обычно произносят [си-плюс-плюс билдэр], [си билдэр]) — программный продукт, инструмент быстрой разработки приложений (RAD)

> инструмент быстрой разработки приложений
> Как-то же это сокращается?
> инструмент быстрой разработки приложений
Аноним 26/11/16 Суб 23:15:32  882756
Помогите плиз, что-то нихуя не выходит с realloc ()

void formMas(int x, int u, int nX, int nU) {
for (int i = 0; i < nX; i++) {
u = (int
)realloc(u, (nU + 1) sizeof(int));
if (u == NULL) { cout << "ошибка"; return; };
u[nU] = x;
++
nU;
};
}

Что не так в процедуре ? Из мейна ее вызываю,
formMas(x, u, n, &l);

x - указатель на заполненный массив длинной n
u - указатель на массив, который надо заполнить. Пока что u=NULL на момент передачи
l - длина u,равна 0.
Аноним 26/11/16 Суб 23:17:21  882757
>>882756
Быстрофикс

void formMas(int x, int u, int nX, int nU) {
for (int i = 0; i < nX; i++) {
u = (int )realloc(u, ( nU + 1) sizeof(int));
if (u == NULL) { cout << "ошибка"; return; };
u[ nU] = x;
++
nU;
};
}
Аноним 27/11/16 Вск 00:56:32  882808
>>882757
>>882756
Сколько вам, даунам, нужно повторять, что форматирование тут пидарасит и что заливать исходник надо в другое место?
Аноним 27/11/16 Вск 01:53:12  882863
Поясните чому такой код дает command terminated:

...
while(a!=0){
t = a
a = b
b = a - b;
}
...
Аноним 27/11/16 Вск 02:41:48  882915
Почему статическую переменную в классе нельзя инициализировать внутри этого класса а нужно инициализировать её снаружи?
Аноним 27/11/16 Вск 10:40:39  882970
>>882863
что такое command terminated?
может ты точку с запятой не поставил?
Аноним 27/11/16 Вск 11:26:33  882975
>>882757
Ошибки пиши в cerr
После for точка с запятой не нужна
Не вставляй код на двач
u[nU] = x; что ты хотел сделать этой командой? скопировать массив?
Аноним 27/11/16 Вск 14:35:42  883043
>>882970
Нашел источник проблемы. Одна из переменных задавалась как:
a = (int) f / k
но результат почему то не int
Аноним 27/11/16 Вск 14:48:33  883049
>>883043
короче решил сам, но запрос такой: что можно прикрутить к vim, чтобы он помогал отлавливать такие хитрые ошибки?
Аноним 27/11/16 Вск 15:05:55  883058
>>883049
Для него даже автокомплита человеческого не запилили, а ты блять требуешь анализ кода на лету, лол.

Поставь IDE + плагин vim-mode (в цлионе и культе точно есть такие).
Аноним 27/11/16 Вск 18:42:38  883167
Такой вопрос. Есть одна bool переменная, которая используется в потоке A. Я могу поменять её значение в потоке B. Нужно ли мне использовать примитив синхронизации?
Аноним 27/11/16 Вск 19:21:22  883197
>>882067
Какой ты беспомощный. Даже тему в своей псевдо-IDE настроить не можешь.
Аноним 27/11/16 Вск 19:29:27  883202
>>883167
Естественно, лол. Иначе будет data race, что есть UB
Аноним 27/11/16 Вск 20:35:52  883227
Помогите первокуру. С клавиатуры вводится последовательность из N действительных чисел. Вывести все неубывющие подпоследовательности элементов идущих подряд.
Аноним 27/11/16 Вск 21:15:25  883248
>>883227
В ньюфаг-тред.
Аноним 27/11/16 Вск 21:25:16  883251
>>881730
бляяяя )
Аноним 27/11/16 Вск 21:58:56  883266
Можно ли в крестах запилить рекурсивную структуру. Например реализовать суффиксальное дерево на мапах. Каждый ключ одна буква, а значение новые мапы. Если значение пустое, то это последняя буква. Как такое сделать?
Аноним 27/11/16 Вск 21:59:39  883267
FIGURE1.gif (3Кб, 341x362)
>>883266
Картинку забыл.
Аноним 27/11/16 Вск 22:03:14  883271
>>883266
tagged union
std::variant, если хочешь быть модным
Аноним 27/11/16 Вск 22:07:12  883273
>>883266
Хотя, может я поторопился тебе советовать.
Аноним 27/11/16 Вск 22:09:29  883275
>>883266
http://stackoverflow.com/a/21204630
Аноним 27/11/16 Вск 22:11:01  883276
>>883275
А без классов?
Аноним 27/11/16 Вск 22:13:56  883279
>>883275
Вообще там map с incomplete type, что нельзя.
Аноним 27/11/16 Вск 23:05:40  883318
Сап, помогите с тестом по классам. С меня как всегда.
Аноним 27/11/16 Вск 23:06:23  883320
ISsENGJFvA.jpg (262Кб, 1620x2160)
l5RU34En10.jpg (287Кб, 1620x2160)
qggmixNVOTk.jpg (304Кб, 1620x2160)
>>883318
Я настолько тупой, что даже пикчи не загрузил.
Аноним 27/11/16 Вск 23:08:35  883322
>>883320
>Я ... тупой
Это твои проблемы, никто тебе помогать не будет.
Аноним 27/11/16 Вск 23:16:37  883329
>>883322
А как же проверить самого себя, все дела?
Аноним 27/11/16 Вск 23:17:58  883332
>>883329
Нормальные фото сделай, это нечитаемое говно, понятны только по 2 вопроса в центре.
Аноним 27/11/16 Вск 23:18:14  883333
>>883329
Товарищ семинарист тебя проверит.
Аноним 27/11/16 Вск 23:20:33  883335
>>883320
Скучные вопросы. Хоть бы изюминка была какая-то.
Например, в десятом убрать public: в Derived
Аноним 27/11/16 Вск 23:23:06  883338
>>883335
А, не. Там есть изюминка. Затупил.
Аноним 27/11/16 Вск 23:31:09  883346
>>883320
В пятом нет верного ответа.
Аноним 27/11/16 Вск 23:32:56  883347
>>883346
B
Аноним 27/11/16 Вск 23:34:10  883348
>>883347
Как ты уверенно судишь об undefined behavior. Вдруг вызовет )))
Аноним 27/11/16 Вск 23:38:47  883351
>>883320
Шестой тоже странный вопрос. Мне кажется, или он предполагает какое-то значение sizeof(int), но про это явно не написано?
Аноним 27/11/16 Вск 23:46:29  883357
>>883276
Хотя у меня и так получилось
http://ideone.com/m6ahQx
рейт
Аноним 27/11/16 Вск 23:50:38  883359
>>883357
Я же написал: >>883279
Аноним 27/11/16 Вск 23:51:30  883360
>>883359
Что нельзя? У меня получилось.
Аноним 27/11/16 Вск 23:52:33  883361
>>883359
> Что нельзя?
map с incomplete type
> У меня получилось.
UB
Аноним 27/11/16 Вск 23:53:07  883364
>>883351
Именно так. Какой ответ там, няша?
Аноним 27/11/16 Вск 23:53:20  883365
>>883361
заебал с ub
Аноним 27/11/16 Вск 23:53:45  883366
>>883365
Я-то при чём? Так в стандарте написано.
Аноним 27/11/16 Вск 23:59:47  883372
>>883366
теперь лучше?
Аноним 28/11/16 Пнд 00:00:48  883373
>>883372
Нет.
Аноним 28/11/16 Пнд 00:02:14  883375
>>883373
Что переделать?
Аноним 28/11/16 Пнд 00:04:50  883376
>>883375
А. Ты поправил там. С указателем должно быть не UB.
Аноним 28/11/16 Пнд 00:07:28  883377
>>883375
Только оно течёт, наверное. Примени unique_ptr, если руками чистить лень.
Аноним 28/11/16 Пнд 00:13:02  883384
>>883377
добавил деструктор
нормально?
Аноним 28/11/16 Пнд 00:16:51  883386
>>883384
Только зачем ты после всех закрывающих скобок лепишь точку с запятой? Формально, конечно, ошибки нет. Но.
Аноним 28/11/16 Пнд 00:19:17  883387
>>883386
привычка
убирать лень
Аноним 28/11/16 Пнд 01:29:34  883409
error.png (8Кб, 560x315)
Выручай, анон! Поставил свеженький OpenCL 3.0, пишу первое приложение, на моменте создания queue с помощью clCreateCommandQueueWithProperties выскочила ошибка - "не найден энтри поинт в OpenCL.dll", порыскав по интернетам, обнаружил, что это можно решить положив дллку в папку с проектом, после чего ошибка сменилась на другую - см пикрилейтед. А вот про это дерьмо я уже почти ничего нагуглить не могу. Щито делать?
Водные данные: пытаюсь запустить код на видеокарте (amd 8800m, дрова обновил), свойства, запихиваемые в означенную выше функцию - cl_queue_properties props[] = {
CL_QUEUE_PROPERTIES, CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE | CL_QUEUE_ON_DEVICE , 0
}, винда 64 восьмёрка, дллку, положенную в папку с проектом, брал из sdk/bin/x86_64, кожу в студии 15.
Аноним 28/11/16 Пнд 01:53:17  883418
>>883409
>свеженький
Говнецо ведь.
Аноним 28/11/16 Пнд 02:10:23  883425
>>883418
В этом вопросе я еще довольно ньюфажен. Думаешь, поставить более раннюю версию? И почему говнецо?
Аноним 28/11/16 Пнд 02:15:20  883427
>>883409
> amd 8800m
> Поставил свеженький OpenCL 3.0
ЛОЛ. Ты правда думаешь, что OpenCL можно взять и "поставить" какой хочешь? Твоя карта только OpenCL 1.2 поддерживает.

(Я даже не знаю, что 2.0 поддерживает)
Аноним 28/11/16 Пнд 02:26:13  883430
>>883427
Ближе к ночи я начинаю нести хуйню. Не OpenCL, конечно, а amd app sdk. У самого OpenCL вообще последняя версия 2.2
Аноним 28/11/16 Пнд 02:37:27  883432
>>883430
Бля, а ведь clCreateCommandQueueWithProperties только с OpenCL 2.0. А какого то хуя на старую clCreateCommandQueue студия ругается deprecated. Перекатываться на старую версию сдк?
Аноним 28/11/16 Пнд 02:57:34  883437
Ночное программирование.
Передо мной поставили в вузе задачу написать класс, объект которого представляет из себя динамический массив, который сортируется одним из своих методов, а также возможностью быстрого поиска.
Если нормально переписать тз, то получается:
Необходимо реализовать динамический массив чисел с возмножстью поиска и сортировки. Идея реализации: выделяется небольшой (1) массив, по мере его заполнения выделяются такие же, которые связываются в список.(2) Также должны быть следующие методы(их больше, но эти мне непонятны.)
Создать массив заданной начальной длины.(В смысле такой длины должны быть мои массивы в (1)?)
Удаление элемента по индексу.(Все остальные элементы надо видимо сдвинуть?)
Ну и самое непонятное это (2).
Что здесь вообще от меня хотят? О каких списках речь и через что их реализовывать?
Я вот описал такой список через структуру следующим образом
-------------
struct Num_Massive_//один из мини-массивов
{
Num_Massive_
prest;//ссылка на предыдущий такой массив
Num_Massive_ after=Null;//ссылка на следующий
double Numb[10];//сами значения
}
-------------

Понимаю, что с некоторыми вопросами могут быть проблемы, но все же надеюсь на помощь.
Аноним 28/11/16 Пнд 17:18:32  883703
>>881895
Синтезатор.
Аноним 28/11/16 Пнд 17:20:31  883704
privberasdfsdaf
Аноним 28/11/16 Пнд 21:43:05  883856
Котаны, скиньте launch.json и tasks.json для запуска через VS Code. Не могу никак настроить.
Аноним 28/11/16 Пнд 22:02:33  883872
>>883427
>Я даже не знаю, что 2.0 поддерживает
Интелы, АМД вроде тоже.
Аноним 28/11/16 Пнд 22:06:39  883879
.png (15Кб, 480x163)
Сиплюсач, помоги.
Начал читать Прата. И на первом же хеллоуворлде студия плюется ошибкой. Пикрелейтед.
Кто сталкивался, как пофиксить?
Аноним 28/11/16 Пнд 22:12:18  883883
>>883879
Поставить Win10
Аноним 28/11/16 Пнд 23:02:27  883915
14567576647170.jpg (45Кб, 500x500)
Как проверить, упорядочен ли числовой массив ARRAY[N][N] по строкам по возрастанию? И если упорядочен, то выйти из программы?

Чето не робит.

bool value;
for (i = 0; i < 4; i++) for (j = 0; j < 4; j++) {
if (arr[j] < arr[i + 1][j])
value = true; }

if (value == true) выйти из программы;
Аноним 28/11/16 Пнд 23:21:12  883929
>>883915
>>881172 (OP)
>Q: Что делают хейтеры?
>A: Сосут член вместе со своими мамашами.
>
>Q: Что делают студенты с лабами?
>A: То же, что и хейтеры
Аноним 28/11/16 Пнд 23:26:10  883936
хочу вкатиться в nasa/jpl/lanl. что из c\c++ нужно знать и уметь?
Аноним 28/11/16 Пнд 23:26:38  883937
>>883929
Я слишком тупой для вуза, я типа самообразованец
Аноним 28/11/16 Пнд 23:31:43  883945
>>883883
Нет. Нафиг мне эти зодны.
Аноним 29/11/16 Втр 00:02:42  883970
>>883945
Тогда ставь Gentoo.
Аноним 29/11/16 Втр 00:04:54  883972
>>883970
Когда нечего сказать по делу
Аноним 29/11/16 Втр 00:09:15  883977
>>883972
Когда есть чего — тоже можно ставить.
Аноним 29/11/16 Втр 00:10:11  883978
>>883937
Ты сходен со студентом с лабой до степени смешения.
Аноним 29/11/16 Втр 11:57:24  884158
>>881172 (OP)
Сколько времени нужно дрочить кресты, чтобы получить работу?
Исходные данные: линуксовый админ, скрипты на питоне/баше, С уровня универовских лаб, БД на уровне 10 запросов, а что внутре - хз.
Аноним 29/11/16 Втр 14:06:40  884200
>>884158
10k hours
Аноним 29/11/16 Втр 15:19:41  884219
>>883915
Аноним 29/11/16 Втр 17:03:05  884275
>>883936
Для наса надо уметь всё.
Аноним 29/11/16 Втр 17:08:27  884278
>>883915
http://pastebin.com/dGmaKqU0
Аноним 29/11/16 Втр 17:18:42  884281
>>883437
гугли std::vector, template и qsort
Аноним 29/11/16 Втр 17:24:01  884283
>>881192
Зачем вообще нужна толпа программистов на готовый проект? Написал миллион строк и проект готов. Пользуйся. Зачем ещё платить программистам чтобы они его переделывали?
Аноним 29/11/16 Втр 18:04:16  884308
Есть 2 варианта спермокода:
[code]int main(int argc, char argv[])
{
FILE
f = fopen(argv[1], "rb");
}[/code]
[code]int main(int argc, TCHAR argv[])
{
FILE
f = _wfopen(argv[1], L"rb");
}[/code]
Первый вариант работает, а второй возвращает нуль и errno 2 (нет такого файла). Но файл-то есть...
Что за хуйня?
Аноним 29/11/16 Втр 18:31:31  884325
>>884308
Бля, я даун, надо было _tmain, а не main...
Аноним 29/11/16 Втр 19:39:48  884380
>>881192
дай попробую угадать
smart tv платформа?
Аноним 29/11/16 Втр 19:55:33  884395
>>884308
> этот спермо-C++...

Ящитаю, нужно запретить отписываться в этом треде про спермоC++. С managed C++ сюда ведь никто не лезет?
Аноним 29/11/16 Втр 20:04:16  884398
Аноны, помогите, пожалуйста. Я ниразу не начинал изучать c++(учил питона). Дали задание "найти значение которое будет выведено 11-ым по счету"

bool f(int k) {
bool flag; int j;
flag = true;
for(j = 2; j<= k/2; j++)
if(k % j == 0) {
flag = false;
break;
}
return flag;
}
int main()
{
int n = 999999, i;
for(i = 2; i<=n; i++)
if(f(i))cout << i << endl;
return 0;}
Аноним 29/11/16 Втр 20:06:37  884401


bool f(int k) {
bool flag; int j;
flag = true;
for(j = 2; j<= k/2; j++)
if(k % j == 0) {
flag = false;
break;
}
return flag;
}
int main()
{
int n = 999999, i;
for(i = 2; i<=n; i++)
if(f(i))cout << i << endl;
return 0;}
Аноним 29/11/16 Втр 20:35:31  884433
Screen Shot 201[...].png (45Кб, 2006x136)
Няши, я совсем не понимаю, что не так, и гуголь не помогает. Всё очень просто: у меня есть некий
> char letter;
и я хочу вводить его через консоль.
Но стандартное
> cin >>
letter;
заставляет программу падать. Как это можно победить? Вводить string и конвертировать?
Аноним 29/11/16 Втр 20:38:56  884436
Screen Shot 201[...].png (201Кб, 1436x956)
>>884433
Макаба съедает звездочки, совсем забыл. Вот скрин. Алсо, cin.get тоже не помогает.
с++ Зяблый 29/11/16 Втр 20:52:14  884443
Напишите программу, которая создает файл, состоящий из N строк. В первой строке запишите одну цифру "1", во второй - две цифры "2", и так далее, в строке с номером N - соответствующее число цифр "N", 1 ≤ N ≤ 9.
(Автор этого поста был предупрежден.)
Аноним 29/11/16 Втр 20:55:01  884446
>>884443
Написал, как платить удобней?
Аноним 29/11/16 Втр 20:55:55  884449
>>884446
Битками.
Аноним 29/11/16 Втр 20:58:26  884453
>>884446
>как платить удобней
Сбербанком, а сколько ты готов заплатить?
Аноним 29/11/16 Втр 21:16:17  884465
>>884453
20 рублей заплачу
Аноним 29/11/16 Втр 21:22:51  884478
>>884465
>20 рублей
Кто больше?
Аноним 29/11/16 Втр 21:23:47  884479
>>884478
20 BTC
Аноним 29/11/16 Втр 21:27:31  884480
>>884478
Ок, плати.
Аноним 29/11/16 Втр 21:27:42  884481
>Прата
>Пришло время рассмотреть последний целочисленный Тип: char.
Ну пиздец.
Аноним 29/11/16 Втр 21:30:17  884484
>>884436
Нежели никто не знает? Это же вообще основы, я просто понять не могу где косяк.
Аноним 29/11/16 Втр 21:42:24  884490
>>884480
Заплатил. Ты знаешь где проверять.
Аноним 29/11/16 Втр 21:47:13  884492
>>884484
Что по твоему такок char* и что написано в документации про cin.get. Почему ты думаешь это должно работать? следующий раз сам себе эти вопросы задай
Аноним 29/11/16 Втр 21:47:18  884493
>>884490
Ничего нету. 2 раза проверил.
Аноним 29/11/16 Втр 21:48:46  884494
>>884493
По привычке проглотил?
Аноним 29/11/16 Втр 21:49:27  884497
>>884494
Наверн.
Аноним 29/11/16 Втр 21:52:58  884500
>>884492
> Что по твоему такок char*
Это переменная для одного символа. И она не работает без указателя. Что ты хотел услышать?
> что написано в документации про cin.get
То, что это альтернатива cin <<, которая является методом вывода данных в консоль.
И это не приблизило меня к пониманию проблемы.
Аноним 29/11/16 Втр 21:54:01  884501
>>884500
> альтернатива cin <<
cin >> конечно же. А вообще, мог бы и так ответить.
Аноним 29/11/16 Втр 21:57:24  884503
>>884500
> переменная для одного символа
А что такое char и чем он от char* отличается?
Аноним 29/11/16 Втр 22:00:00  884506
>>884443
>(Автор этого поста был предупрежден.)
Найс.
Аноним 29/11/16 Втр 22:01:28  884510
>>884503
Никогда не задавался таким вопросом честно говоря. На сколько я помню, он всегда используется с указателем. По крайней мере, у меня ничего без указателя не работало впоследствии.
Аноним 29/11/16 Втр 22:02:26  884511
>>884510
Ясно. Учи указатели и читай про си строки.
Аноним 29/11/16 Втр 22:02:27  884512
>>884484
>я просто понять не могу где косяк.
У тебя в ДНК.

>Всё очень просто: у меня есть некий char letter; и я хочу вводить его через консоль.

char letter;
cin>>letter;
или
cin.get(ch);
или
ch=cin.get();



Аноним 29/11/16 Втр 22:02:36  884513
>>884510
Ты в курсе, что есть более эффективные методы познания, чем метод тыка вслепую?
Аноним 29/11/16 Втр 22:07:06  884514
>>884512
Get не умеет си строку возвращать.
Аноним 29/11/16 Втр 22:07:11  884515
>>884511
Я и так знаю, что такое укзатели, спасибо. Это переменные, указывающие ( и использующие) память другой переменной.
>>884512
> У тебя в ДНК.
Ну так этого у каждого. За столько миллионов лет, на земле не осталось ни одного не мутироваашего вида.
А вообще, присвоить одну переменную другой я и сам догадался. Разве нет менее костыльно способа?
>>884513
Есть, да. Я например в инстиуте учусь, только я не виноват что нам нихуя не объясняют а заставляют пилить ебанутые программы на языке, который я никогда не учил. Нет, чтобы всё как у людей - есть array, есть mutable array. Нет блять, хочу какие-то векторы изобретать. Вектор - это же направленный луч! С какого хуя он стал массивом? Я за сегодняшний день столько новго узнал, что ахуеть.
Аноним 29/11/16 Втр 22:09:52  884517
>>884515
> Вектор - это же направленный луч! С какого хуя он стал массивом?
Страуструп пояснял. Типа у него есть длина и отсчёт с нуля, а array занят сишным массивом.
Аноним 29/11/16 Втр 22:11:46  884521
>>884515
>Это переменные, указывающие ( и использующие) память другой переменной.
NYET.
Это целочисленные переменные, содержащие адрес чего-либо. Или есть ещё адрес + ограничение длины
Аноним 29/11/16 Втр 22:12:01  884522
>>884436
>char звёздочка letter
Тут ты объявляешь УКАЗАТЕЛЬ на ОБЛАСТЬ памяти.
И на что он у тебя указывает? На хуй знает что, т.к. ты его ничем не инициализировал.

Когда std::cin пытается что-то записать в хуй знает какую область памяти, то всё идёт по пизде.
Указатель ОБЯЗАН указывать куда-то, если ты хочешь работать с данными по его адресу.

В твоём случае достаточно просто создать переменную на стеке. Т.е. написать char letter. И уже с ней работать.

http://cpp.sh/2rbp

Аноним 29/11/16 Втр 22:14:22  884524
>>884436
Что за иде? А шрифт?
Аноним 29/11/16 Втр 22:14:49  884525
Screen Shot 201[...].png (240Кб, 2064x920)
>>884517
Охуительно конечно.
>>884521
Мда, это я видимо перепутал с &.
>>884522
> Т.е. написать char letter.
Уже пытался, тогда по пизде идет всё остальное.
Видимо, просто сделаю 2 переменные, и укажу одной на другую.
Аноним 29/11/16 Втр 22:16:21  884526
>>884524
> Что за иде?
Xcode же. Я на нем в ObjC пишу, но он поддерживает и C++. Шрифт - San Francisco
Аноним 29/11/16 Втр 22:17:30  884527
>>884526
Спасибо
Аноним 29/11/16 Втр 22:17:41  884528
>>884525
Судя по ошибке на твоём скриншоте у тебя там std::map, у которого ключ какой-то int, а значение std::string.
ВСЮ строку(std::string) сравнить с одним символом(char) нельзя.

Давай сюда код. Через ideone или pastebin. И так, чтобы он скомпилился.
Крестухи не смогут ответить на этот вопрос Аноним 29/11/16 Втр 22:18:42  884529
int main()
{
// предположим, было выведено 4
std::cout << sizeof(int) << std::endl;

int *x = new int;

// предположим, было выведено 0x60000000
std::cout << x << std::endl;

// что выведется тут???
std::cout << x + 3 << std::endl;
}
Аноним 29/11/16 Втр 22:20:36  884530
>>884529
0x60... + 3*sizeof(int)
Аноним 29/11/16 Втр 22:21:04  884531
>>884529
Что угодно, а может даже сегфолт.
Аноним 29/11/16 Втр 22:21:51  884532
>>884530
Первый неверный ответ.
>>884531
Ну типа того. Только надо грамотнее выражаться, грамотнее.
Аноним 29/11/16 Втр 22:22:01  884533
>>884531
Я в глаза ебусь и обосрался.
Аноним 29/11/16 Втр 22:22:20  884534
>>884533
А я уж понадеялся...
Аноним 29/11/16 Втр 22:22:27  884535
>>884531
Арифметика указателей. Тут всё законно.
Аноним 29/11/16 Втр 22:26:28  884538
>>884528
http://pastebin.com/dk28Qfx3
Вот, только он падает по той же ошибке, как я и описал, из-за char. Все остальное работает как должно.
Аноним 29/11/16 Втр 22:26:40  884539
>>884525
Если ты хочешь узнать есть ли подобный символ в строке, то нужно использовать ПОИСК в строке, а не сравнение с символом.
В твоём случае:
if (useletters.find(letter) != std::string::npos){
std::cout<<"Letter exist"<<std::endl;
}
Аноним 29/11/16 Втр 22:27:49  884540
>>884539
Мне нужно не только знать, есть ли он в строке, но еще и знает его номер. Но вообще да, вектор здесь не нужен, это можно сделать и со string через find, мне уже сказали.
Аноним 29/11/16 Втр 22:40:58  884545
>>884540
>vector<string> usedLetters(27, '0');
Тут тебе строка(std::string) не нужна, если ты работаешь с массивом(std::vector) символов.
Меняй на vector<char> usedLetters(27, '0');

>auto it = std::find(vWord.begin(), vWord.end(), *letter);
Тут уже не нужно разыменовывать указатель, т.к. уже он не используется.
Меняй на std::find(vWord.begin(), vWord.end(), letter);

>auto it = std::find(vWord.begin(), vWord.end(), letter);
Тут тебе нужно использовать std::find из algorithm (http://en.cppreference.com/w/cpp/algorithm).
Добавь #include <algorithm>

Версия, которая компилится без ошибок. Логику работы я не проверял.
http://ideone.com/fGvE8N

Аноним 29/11/16 Втр 22:41:54  884546
>>884529
http://ideone.com/OHNgpV
>>884530
Аноним 29/11/16 Втр 22:44:09  884547
>>884546
> ideone
Пруф уровня /pr/..

Я тоже так могу. Вот, смотри http://ideone.com/ax7CeC пруф того, что локальные переменные инициализируются нулём
Аноним 29/11/16 Втр 22:46:41  884548
А можно на плюсах писать C-style? Есть у такого кодинга собственные фанаты?
Аноним 29/11/16 Втр 22:47:20  884551
>>884547
Тогда буду рад цитатке из стандарта крестов, т.к. и правда не понимаю с чего будет выведен не адрес, а не кусок памяти по адресу + 3*sizeof(int).
Аноним 29/11/16 Втр 22:48:16  884553
>>884551
>не понимаю с чего будет выведен не адрес, а не кусок памяти по адресу
Я тоже не понимаю. Я нигде этого не утверждал.
Аноним 29/11/16 Втр 22:48:24  884554
>>884547
Проверялка, ты сперва пруфани что его ответ неправильный.
Аноним 29/11/16 Втр 22:48:58  884555
>>884554
А ты пруфани что не инициализируются нулём.
Аноним 29/11/16 Втр 22:59:46  884562
>>884551
>Тогда буду рад цитатке из стандарта крестов
Надо дать время другим подумать.
Аноним 29/11/16 Втр 23:01:03  884563
>>884545
Большое спасибо, всё работает. Я, правда, так и не понял, почему у меня это не заводилось когда я сам убирал везде указатели.
Аноним 29/11/16 Втр 23:10:59  884570
>>884562
http://caxapa.ru/thumbs/468328/misra-c-2004.pdf
7.1

И стандарт:
http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf
6.5.6

В итоге это UB, если мы пытаемся выполнить операцию, которая за границами массива.
Верно?
Аноним 29/11/16 Втр 23:12:17  884571
>>884570
Верно.
Аноним 29/11/16 Втр 23:14:54  884575
>>884571
Сам обосрался, сам починился. Классика.
Аноним 29/11/16 Втр 23:20:09  884580
Я снова выхожу на связь. В моем гениальном быдлокоде появился один ахуительный просчет.
> find(vWord.begin(), vWord.end(), letter);
находит только первое значение. То есть если в слове 2 одинаковые буквы, find показывает номер только первой. Это можно как-нибудь обойти? На ум приходит только отрезать начало до номера первой буквы и проверить снова, так до конца.
Аноним 29/11/16 Втр 23:21:59  884583
>>884580
find возвращает итератор, указующий на найденную букву. Начинай поиск не с vWord.begin(), а с этого итератора.
Аноним 29/11/16 Втр 23:23:16  884585
>>884583
Напиздел, не итератор возвращает.
Ок. Начинай с vWord.begin() + то, что вернул find
Аноним 29/11/16 Втр 23:23:25  884586
>>884563
Т.к. у тебя был
>vector<string> usedLetters(27, '0'); //USED LETTERS

А в строке
>if(usedLetters == letter){ ...
Сравнение std::string с char. Т.е. одной строки с одним символом. Это совсем разные типы.
Чтобы сравнить первый символ строки с твоим символом, то получить его можно с помощью оператора []

Если расписать строчку со сравнением, то всё встанет на свои места.
std::string str = usedLetters;
char compare_letter = str[0]; //0 - индекс символа в строке, с которым ты хочешь сравнить.
if (compare_letter == letter){ ...

Если не расписывать, то итоговая версия выглядела бы так:
>if(usedLetters[0] == letter){ ...


Аноним 29/11/16 Втр 23:24:09  884587
>>884585
Или не напиздел. Я подумал, что find это string::find
Аноним 29/11/16 Втр 23:26:42  884589
>>884585
Ну, то что на пике не работает, хотя может я туплю.
> vWord.begin() + то, что вернул find
А вот это кажется реальным, сейчас попробую.
>>884586
> Сравнение std::string с char.
Сижу и проигрываю с себя же. Надо было ведь так проебаться. А я,
Аноним 29/11/16 Втр 23:27:36  884590
Screen Shot 201[...].png (39Кб, 2060x132)
>>884589
Отклеилось.
Аноним 29/11/16 Втр 23:27:41  884591
>>884589
Если это std::find, то надо как я написал сначала.
Аноним 29/11/16 Втр 23:28:39  884592
>>884590
auto it = begin(vWord);
while ((it = find(it, end(vWord), char) != end(vWodr))
{
blah-blah-blah
}
Аноним 29/11/16 Втр 23:29:59  884593
>>884592
>while ((it = find(it, end(vWord), char) != end(vWodr))
while ((it = find(it, end(vWord), char)) != end(vWodr))
скобку забыл

self-fix
Аноним 29/11/16 Втр 23:30:55  884594
Реквестирую тыжпрограммиста для исправления багов в изишной проге. Заплачу денежку.
скайп you.arehome
Аноним 29/11/16 Втр 23:31:18  884595
>>884592
> begin(vWord);
Может быть vWord.begin()? Иначе ругается.
Аноним 29/11/16 Втр 23:31:37  884596
>>884586
Половину квадратных скобок спиздила вакаба. Что поделаешь. Надеюсь суть донёс.

>>884580
Тут всё просто. Надо начинать поиск с прошлой позиции + 1.
http://ideone.com/a68DxG



Аноним 29/11/16 Втр 23:32:27  884597
>>884595
http://en.cppreference.com/w/cpp/iterator/begin
> Defined in header <iterator>
Аноним 29/11/16 Втр 23:35:03  884598
>>884596
> Надеюсь суть донёс.
Донёс, и очень даже понятно.
> Надо начинать поиск с прошлой позиции + 1.
Я так и понял, да.
>>884597
Всё, понял. Спасибо.
Аноним 29/11/16 Втр 23:36:04  884601
>>884598
>Надо начинать поиск с прошлой позиции + 1.
Да, точно. Тогда find(it+1, end(vWord), c) и т.д.
Аноним 29/11/16 Втр 23:41:37  884604
Кстати, ещё один вопрос крестухам, на этот раз простой: почему можно писать begin(vWord) (где vWord это std::vector<char> или что-то вроде этого) без "std::"?
Аноним 29/11/16 Втр 23:44:20  884606
>>884604
Естественно, подразумевается, что никаких using namespace std или using std::begin нет, иначе это тривиальный вопрос.
Аноним 29/11/16 Втр 23:47:35  884612
>>884606
А то тебе сказал что можно?
Аноним 29/11/16 Втр 23:48:04  884614
>>884594
бамп!
Аноним 29/11/16 Втр 23:48:23  884615
>>884612
Ну сам проверь, лол
http://ideone.com/h7mCxh
Аноним 29/11/16 Втр 23:48:54  884616
>>884614
Зачем бампать, если указал скайп?
Аноним 29/11/16 Втр 23:48:55  884617
>>884604
Koenig Lookup
Аноним 29/11/16 Втр 23:50:04  884620
>>884617
Какое-то заумное название. Я такого не знаю, я знаю проще.
Аноним 29/11/16 Втр 23:52:06  884623
>>884620
Окей, проще - компиль будет искать вызываемую функцию в неймспейсе аргумента. Такой принцип и есть Koenig Lookup
Аноним 29/11/16 Втр 23:53:04  884624
>>884623
Я имел в виду Argument-Dependent Lookup. Ну или просто ADL ))
Аноним 29/11/16 Втр 23:53:07  884625
>>884623
https://en.wikipedia.org/wiki/Argument-dependent_name_lookup
Аноним 29/11/16 Втр 23:53:40  884626
>>884624
>>884625
ЛОЛ ХАЙВ МАМ ХАЙП ДВАЧУЮ!!111
Аноним 29/11/16 Втр 23:54:09  884627
>>884624
>Argument-dependent name lookup
> This behavior is also known as Koenig lookup, as it is often attributed to Andrew Koenig, though he is not its inventor.[2]

Оживляю С++ тред спамом.
Аноним 29/11/16 Втр 23:55:52  884630
Из-за ADL можно иногда писать find вместо std::find и accumulate вместо std::accumulate и проч., но, в отличие от std::begin, так не делать крайне нежелательно.
Аноним 29/11/16 Втр 23:56:43  884631
>>884630
Точнее, так. Можно писать и иногда это будет работать.
Аноним 30/11/16 Срд 00:00:52  884640
>>884631
Я бы добавил, что по этому поводу стоит прочесть Exceptional C++.
Вдруг кому-то не похуй
Аноним 30/11/16 Срд 00:01:39  884643
>>884640
А что там написано по этому поводу?
Аноним 30/11/16 Срд 00:09:39  884650
>>884643
Конкретно в части - Name Lookup, Namespaces, and the Interface Principle
Описано как вообще работают неймспейсы в крестах.
https://www.vanko.me/sites/vitki.net/files/attachments/sutter-exceptional-cpp--47-puzzles_0.pdf
Аноним 30/11/16 Срд 00:10:41  884651
>>884650
Не, я конкретно про то, что не стоит полагаться на ADL для всяких find accumulate for_each
Аноним 30/11/16 Срд 00:12:13  884654
>>884650
> chm перегнанный в pdf
Трудно представить что-то более отвратительное.
Аноним 30/11/16 Срд 00:14:43  884656
>>884651
Лол. Я давно читал, так и скажу.
Но, уверен, что там было написано что нехуй так делать.
Т.к. в итоге можно огрести проблем.

Типа http://ideone.com/1WHOic
Аноним 30/11/16 Срд 00:15:57  884657
>>884656
Не, у меня другие соображения.
Аноним 30/11/16 Срд 00:22:43  884662
>>884656
Типа вот, http://ideone.com/FVbihT
Замени vector на array, например.

Кстати, я понял, что std::begin до begin тоже лучше не сокращать, иначе на простых статических массивах выйдет облом.
Аноним 30/11/16 Срд 00:26:29  884665
>>884662
Хотя, может с std::begin стоит поступать, как с std::swap? Писать using std::begin; и применять его без std::
Аноним 30/11/16 Срд 00:28:05  884666
Screenshot at 2[...].png (40Кб, 754x268)
>>884665
Да, так и есть
Аноним 30/11/16 Срд 00:29:25  884667
>>884662
Согласен.
Радует, что это достаточно искусственные примеры.
Пока в пром. коде нигде подобного не видел.

Таки везде либо указан неймспейс, либо using.
Аноним 30/11/16 Срд 00:38:45  884669
>>884667
Кстати, до сих пор не понимаю, почему у gnuтых итератор в std::vector-е это не просто поинтер, как для std::array
Аноним 30/11/16 Срд 00:52:29  884673
>>884669
Думаю, что из-за того, что std::vector<bool> должен быть ОСОБЕННЫМ. Он bool хранит не как последовательный массив значений.

http://ideone.com/jvIzJG
Аноним 30/11/16 Срд 00:54:07  884674
>>884673
Так это. Тип итератора в не-bool вектор и так отличается от типа итератора в bool-вектор.
Аноним 30/11/16 Срд 01:04:09  884676
>>884674
Ты прав.
Тогда у меня идей нет.
Аноним 30/11/16 Срд 01:08:25  884679
>>884676
Есть идея что это наследие C++98/03, там, вроде, не было требования хранить данные в векторе непрерывно и не было std::vector::data(), а в C++11 появилось требование. ABI ломать не стали.
Аноним 30/11/16 Срд 02:58:41  884697
1477106654667.jpg (702Кб, 1506x2160)
Аноним 30/11/16 Срд 18:03:56  885149
Почините определение функций не меняя объявления класса.

http://ideone.com/FYAby5
Аноним 30/11/16 Срд 18:45:54  885163
3213124131.jpg (52Кб, 665x288)
>>884515
>Вектор - это же направленный луч!
Не луч, а направленный отрезок.
Ведь существует модуль вектора

>>Я например в инстиуте учусь, только я не виноват что нам нихуя не объясняют а заставляют пилить ебанутые программы на языке, который я никогда не учил. Нет, чтобы всё как у людей - есть array, есть mutable array. Нет блять, хочу какие-то векторы изобретать. Вектор - это же направленный луч!
В каком ты институте-то учишься?
Аноним 30/11/16 Срд 18:51:06  885166
>>885163
> Не луч, а направленный отрезок.
Да, точно.
> В каком ты институте-то учишься?
http://feri.um.si/
Аноним 30/11/16 Срд 18:53:30  885169
>>885166
И тебе в словении не давали матричной алгебры?
Аноним 30/11/16 Срд 18:59:55  885174
>>885169
Нет, на математике как таковой щас проходим (и проходили с октября) интегралы и всё, что с ними связано, а на погромировании были темы уровня "как поставить ide", потом совсем основы, ну и сегодня вот указатели.
Аноним 30/11/16 Срд 19:02:50  885176
>>885149
Бамп.
Аноним 30/11/16 Срд 19:12:19  885179
Аноны для чего нужна инкапсуляция?
Как она применяется на практике? Не Совсем понимаю выгоды сокрытия переменных и функций если доступ к ним осуществляется через всякие интерфейсы.
Аноним 30/11/16 Срд 19:16:48  885181
>>885179
Ты не испортишь переменную из вне если у тебя нет интерфейса для её редактирования. И это неотъемлемая часть ооп. Как ты создашь класс без инкапсуляции?
Аноним 30/11/16 Срд 19:21:01  885184
>>885181
Точно так же. Только не буду к переменным напрямую обращаться.
Да и вообще часто во всяких игровых движках в классе вектора обращение делают к координатам напрямую.
Аноним 30/11/16 Срд 19:23:08  885186
>>885184
Как это напрямую? Класс же состоит из этих объектов. Ты просто не сможешь создать класс и не включить в него ни один объект. сможешь, но он будет бесполезен
Аноним 30/11/16 Срд 19:32:38  885188
>>885163
>Не луч, а направленный отрезок.
>Ведь существует модуль вектора
Вообще-то вектор - это элемент линейного (векторного) пространства, который можно представить в виде направленного отрезка.

>>885179
>Аноны для чего нужна инкапсуляция?
>Не Совсем понимаю выгоды сокрытия переменных и функций

Так в этом же и вся фишка. Чтобы спрятать как можно больше данных от прямого воздействия на них. Оставив лишь возможность взаимодействия только лишь через интерфейс.

Плюсы и минусы инкапсуляции?

Плюсы:
1) Полный контроль над входящими и исходящими данными

2) Можно, без боязни сломать все остальное приложение, править реализацию методов компонентов. Так как во всем остальном приложение фигурирует только интерфейс. А вы меняете только реализацию логики.

Минусы:
1) Если вы нашли ошибку в библиотеке которую используете. То вам будет трудно ее исправить.

2) Снижается скорость работы приложение. Ну этот пункт думаю вообще учитывать нет смысла с учетом мощностей которые теперь доступны. И плюсов которые она предоставляет.
Аноним 30/11/16 Срд 20:02:38  885199
>>885181
>>>если у тебя нет интерфейса для её редактирования
>>885188

Вот этого и не понимаю. Испорчу через интерфейс
Спорно это всё как-то. Делаю только лабы и не могу понять её плюсов.

>>885186
Struct например

Аноним 30/11/16 Срд 20:04:18  885201
>>885199
>Struct
Там тоже есть инкапсуляция.
Аноним 30/11/16 Срд 20:13:25  885204
>>885201
По умолчанию public
Аноним 30/11/16 Срд 20:22:57  885208
>>885149
Помогите кто-нибудь. Нигде же нет примера такого.
Аноним 30/11/16 Срд 20:28:43  885212
Двач,есть у меня комобобкс. В пропертис я в items добавил допустим две строчки. Как мне присвоить индекс к этим строчкам. Типа у первой строки индекс=0 у второй индекс=1?
Аноним 30/11/16 Срд 20:28:49  885213
>>885186
Чего?
У меня в классе 3 переменные х, игрик, зет. Они публичные, делай с ними что хочешь. Это не класс по-твоему?
Аноним 30/11/16 Срд 20:32:21  885215
>>885199
> Вот этого и не понимаю. Испорчу через интерфейс
> Спорно это всё как-то. Делаю только лабы и не могу понять её плюсов.
Плюсы только если твой код будут другие люди юзать, так удобнее просто обычно - они же вообще не знают что ты там напилил и с инкапсуляцией на ошибки с меньшей вероятностью наткнуться. А так вообще похуй.
Аноним 30/11/16 Срд 20:34:40  885219
>>885213
А смысл ими пользоваться без интерфейса?
Аноним 30/11/16 Срд 20:37:35  885222
Есть одна байтоёбская функция с циклом for (size_t i = buf_size; i > 0; i -= 4, buffer += 4) и один даун (я).
И вот если на вход прилетает что-нибудь, например с размером 343, т.е. в конце остаётся меньше 4, i улетает в минус но из цикла не выходит.
Аноним 30/11/16 Срд 20:37:37  885223
>>885179
Когда работает много людей, пользователи твоего класса должны знать, что если они будут использовать все как надо, то ничего не сломается. А ты, в свою очередь, должен знать, что если ты не будешь трогать интерфейс, то тоже никому ничего не сломаешь. Для этого и нужна инкапсуляция - это защита данных, которые автор класса может менять.
Аноним 30/11/16 Срд 20:38:06  885225
>>885219
Ну вот я тоже об этом думал, но удмал вдруг всё сложнее
>>885215
Динамическое создание объектов
Мне кажется облегчает разработку
Аноним 30/11/16 Срд 20:41:34  885233
>>885212
>
Бамп
Аноним 30/11/16 Срд 20:51:14  885238
>>885222
А, всё.
int i = buf_size; i > -1
Аноним 30/11/16 Срд 21:18:46  885249
>>884281
Спасибо конечно, но по сути мне нужно самому реализовать вектор. Сортировку реализовать не проблема, плюс по заданию это не кусорт. Шаблоны мне пока не нужны.
Аноним 30/11/16 Срд 21:47:35  885265
>>885149
Бамп. Как изолировать пространства имён членов класса? Подсказали вместо неймспейса использовать полностью публичный класс состоящий только их статических функций, но это костыльно выглядит
Аноним 30/11/16 Срд 22:11:32  885273
>>885179
>Аноны для чего нужна инкапсуляция?
Чтоб класс было невозможно использовать в многопоточной среде, т.к. неизвестно, какие сайд-эффекты у вызова метода.

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

Но всякие дебилы учат, что нельзя иметь класс Point с открытыми полями x, y, z, а нужно присобачить к ним геттеры и сеттеры. Вот это уже не ООП, а ООП головного мозга.
Благо, в C++ последнее не очень распространено, тогда как в среде Java-макак...
Аноним 30/11/16 Срд 22:16:12  885276
>>885265
Вот как здесь надо только с неймспейсами. Добавил чисто виртуальный деструктор чтобы объект этого класса создать нельзя было.
http://ideone.com/PkoAwG
Аноним 30/11/16 Срд 22:19:01  885277
>>882251
На 77 странице начинается глава "Мир в ореховой скорлупке", эпиграфом к которой Хокинг выбрал слова Гамлета из Акта 2, Сцены 2.

"Гамлет: О боже, я бы мог замкнуться в ореховой скорлупе и считать себя царем
бесконечного пространства, если бы мне не снились дурные сны".

В начале главы Хокинг рассуждает о том, что мог иметь в виду Гамлет, упомянув ореховую скорлупу.

Аноним 30/11/16 Срд 22:29:21  885284
>>885277
>Хокинг
>Гамлет
Квинтэссенция долбоебов
Аноним 30/11/16 Срд 23:14:03  885305
>>885277
yoттс в "эхопраксии" тоже выбрал эпиграфом к одной из глав
Аноним 30/11/16 Срд 23:24:09  885308
>>885305
это модный англопидерский эпиграф
Аноним 30/11/16 Срд 23:29:27  885310
>>885219
Лол, ты о чём? Ты уверен что ты сам понимаешь что это и зачем надо?
Какая разница govno.x или govno.x(); ???
Какая разница govno.setX(123) или govno.x = 123 ???
Как это в чём смысл? Чтобы получать или изменять значение, нет? А ещё предположим в этом классе есть всякие методы типа нормалайз и + и ещё дохуя чего.
Получается у нас есть охуенный класс вектор, который при этом не инкапсулирует внутренее представление своих данных. Ну и что теперь?
А вот если бы был какой-нибудь
class Yoba {
public;
rofl * kakoetoGovno;
...
}
и при этом kakoetoGovno по должно изменяться только внутри класса для каких-то своих хитрых и коварных планов, тот тут инкапсуляция пригодится.
А то ты напишешь либу(или просто с кем-то что-то будешь пилить), а васян напрямую обратится к kakoetoGovno и изменит значение там, в результате все остальные методы этого класса которые работали с kakoetoGovno будут работать не так как рассчитано. А потом он тебе напишет что плохо зделали тупо, надо ещё разбираться(=тратить время) как автор че там сдеалал, что ему пришлось полчаса искать ошибку, а не просто без задней мысли использовать. По идее как-то так.
Аноним 30/11/16 Срд 23:31:31  885312
>>885225
>Динамическое создание объектов
>Мне кажется облегчает разработку
Ты понимаешь что ты пишешь? Я не могу динамически создавать объекты класса с открытыми полями?
Аноним 30/11/16 Срд 23:33:00  885313
>>885273
Ну я жаву только с libgdx юзал.
Там всё как надо
http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/math/Vector3.html
Аноним 30/11/16 Срд 23:57:53  885319
>>885284
факт в том, что ребята выше жиденько обосрались
Аноним 01/12/16 Чтв 01:14:19  885356
>>885149
Бамп
Аноним 01/12/16 Чтв 01:51:01  885387
14752595616010.jpg (239Кб, 2000x1333)
>>881172 (OP)
Очень хочу найти анона, который будет мне годным наставником по С/С++ и, возможно, Qt в дальнейшем. Чтобы раз в N дней связываться с ним и задавать глупые вопросы, которые трудновато сформулировать для Stackoverflow и гугла. Или когда не хочется палить код. Пока, думаю, нужно это будет нечасто, да и скорость ответов не важна. Ну и вообще, годного анона хорошо бы. Чтобы советовал умные вещи и объяснял, где я на этот раз накосячил. В любом удобном формате - почта, скайп, телега, вк. Если не здесь, то где поискать таких?
Аноним 01/12/16 Чтв 02:05:49  885393
cool-states-pro[...].jpg (55Кб, 540x450)
Быдлокодил тут на куте и внезапно наткнулся на подобное блядство:


#include <QtGui/QApplication>
#include <QtSql>
#include <QTableView>

int main(int argc, char argv[])
{
QApplication app(argc, argv);
// обьявляем базу
QSqlDatabase dbase;
// коннектимся
dbase = QSqlDatabase::addDatabase("QSQLITE");
dbase.setDatabaseName("baza.db");
// гуй для отображения
QTableView view;
// модель для вью
QSqlTableModel model;
// каким ХУЕМ модель знает из какой базы брать таблицу 666 и селектить?
model.setTable("table666");
model.select();

view.setModel(&model);
view.show();

return app.exec();
}

данный код работает, что и бесит. Ну ок. С запросами подобная срань:

QSqlDatabase dbase;
dbase = QSqlDatabase::addDatabase("QSQLITE");
dbase.setDatabaseName("baza.db");

QSqlQuery a_query;

QString str_insert = "INSERT INTO table666(number, address) VALUES (%1, '%2');";
QString str = str_insert.arg("14").arg("hello world str.");
bool b = a_query.exec(str);

Чо за нах? То есть я могу написать чудо-класс-сумматор типа:

int a = 1;
int b = 2;
int c = 3;

Sumoist fuckit;
int sum = fuckit.sumAll();
// и будет sum == 6


Как такая белиберда возможна? Я конечно допускаю, что переменная обьявленная ниже может неким магично-научным способом знать о переменной, обьявленной выше. Но как заставить чтобы QSqlQuery, обьявленный в методе класса, "увидел" базу QSqlDatabase, обьявленную как поле класса, инициализированную и подключенную в конструкторе класса.

Вот почему не сделать как в нормальном языке, как например, в петоне:

import sqlite3

con = sqlite3.connect('users.db')
cur = con.cursor()
cur.execute('CREATE TABLE users (id INTEGER PRIMARY KEY, firstName VARCHAR(100), secondName VARCHAR(30))')
con.commit()
cur.execute('INSERT INTO users (id, firstName, secondName) VALUES(NULL, "Guido", "van Rossum")')
con.commit()
print cur.lastrowid

cur.execute('SELECT
FROM users')
print cur.fetchall()
con.close()

Аноним 01/12/16 Чтв 02:10:44  885394
>>885387
>Qt
Хм. Мда.
Впрочем, могло быть и хуже.
>почта
mudakvkube@mail.ru
Аноним 01/12/16 Чтв 02:14:46  885395
>>885393
>QSqlQuery a_query;
RTFM http://doc.qt.io/qt-4.8/qsqlquery.html#QSqlQuery-2
Аноним 01/12/16 Чтв 02:15:59  885396
>>885394
>>Qt
global variables, global variables everywhere :-)
Аноним 01/12/16 Чтв 02:19:29  885398
>>885395
пиздануццо, а в конструкторе:
QSqlTableModel(QObject *parent = 0, QSqlDatabase db = QSqlDatabase());

// нихуя не пашет:
this->dbModel = new QSqlTableModel(0, this->db);
Аноним 01/12/16 Чтв 02:22:16  885399
>>885396
это каким уем она глобальна? просто обьявлена в том же scope
Аноним 01/12/16 Чтв 02:26:19  885403
>>885399
Read The Fucking RTFM уже!
> If db is not specified, or is invalid, the application's default database is used.
Откуда оно берёт application's database, если не из глобальной переменной где-то в кишках Qt?
Аноним 01/12/16 Чтв 02:29:39  885407
>>885399
>это каким уем она глобальна?
http://doc.qt.io/qt-4.8/qsqldatabase.html#addDatabase
http://doc.qt.io/qt-5/qsqldatabase.html#addDatabase
> QSqlDatabase QSqlDatabase::addDatabase(const QString &type, const QString &connectionName = QLatin1String( defaultConnection ))
> If connectionName is not specified, the new connection becomes the default connection for the application, and subsequent calls to database() without the connection name argument will return the default connection.
Аноним 01/12/16 Чтв 02:30:29  885408
>>885396
Я знаю что параша, но в определенных областях все прочее - еще хуже.
Аноним 01/12/16 Чтв 02:32:33  885410
std::vector<unsigned char> myVector;
Что компилятору не нравится? Типа некорректно.
std::vector<char> myVector;
тоже не ок.
#include <vector> сделал.

А тут что не так? Ошибок не вызывает, но работать тоже не хочет - хуй вместо содержимого переменной.
void encrypt(string s1, string s2, string &res)
{
for (int i = 0; i < s1.length(); i++) {
res = (s1.c_str()) ^ (s2.c_str());
}
}
Аноним 01/12/16 Чтв 02:37:27  885415
>>885410
>А тут что не так?
Все не так.
В первую очередь - в ДНК.
Аноним 01/12/16 Чтв 02:38:50  885416
>>885415
i в квадратных скобках проебалась движком.
Аноним 01/12/16 Чтв 02:41:35  885417
>>885416
Жизнь у тебя проебалась, долбоеб.
Че за res =, баран.
Там как минимум += - хотя тоже кривое говно, конечно.
Аноним 01/12/16 Чтв 02:44:11  885420
>>885417
> Че за res =, баран.
Я вообще не автор, хули ты доебался? Таблеток прими.
Аноним 01/12/16 Чтв 02:44:29  885421
>>885415
Не в ДНК, а в макабе.
http://ideone.com/LWAFQt
>>885410
Аноним 01/12/16 Чтв 02:45:49  885422
>>885421
Нафиг c_str()? Делай reserve() для res.
Аноним 01/12/16 Чтв 02:48:36  885425
>>885422
В смысле "нафиг"? Потому что не хочет оперировать символами в стиле С++ ксор, а обычными оперирует.
>Делай reserve() для res.
Зачем, он же автоматически расширяется.
Аноним 01/12/16 Чтв 02:50:34  885427
>>885420
Нахуй иди, значит.
>>885425
Анус твой автоматически расширяется, пидорасина.
Аноним 01/12/16 Чтв 02:52:17  885428
Вообще хуже говна нет чем строки в крестопараше разве что весь std, хаха
Аноним 01/12/16 Чтв 02:53:43  885430
>>885428
Эх, сейчас бы писать кроссплатформенный, быстрый и красивый софт на чем-то кроме крестопараши, писать ААА-игрушки на чем-то кроме крестопараши, писать дрова, системные утилиты и сами операционные системы, программировать микруху на чем-то кроме крестопараши.
Аноним 01/12/16 Чтв 02:53:55  885431
>>885428
Везде, где я видел, строки ебанутые, кроме как в Rust. Они единственные, кого я знаю, понимают, что у строки не должно быть доступа по индексу.
Аноним 01/12/16 Чтв 02:55:39  885434
>>885430
>>885430
>кроссплатформенный, быстрый и красивый софт на чем-то кроме крестопараши
Софта на крестопараше, где сочетались бы все 3 качества, почти не существует.
> писать ААА-игрушки на чем-то кроме крестопараши
C#
>сами операционные системы, программировать микруху на чем-то кроме крестопараши.
Это и так на 99% не на крестопараше делается.
Аноним 01/12/16 Чтв 02:57:03  885435
>>885430
>кроссплатформенный
Сынок, это фантастика. Тебе в джавапидорам.
Хотя стоп, даже там не все гладко, хехе.
>быстрый и красивый
Тебя за такие кукареки лид голову клавиатурой проломит и выбросит на мороз.
Аноним 01/12/16 Чтв 02:58:06  885436
>>885434
>почти не существует.
>почти
Такой большой - а в сказки веришь.
Хотя если ты учитываешь твою лаба1.срр - то да.
Аноним 01/12/16 Чтв 02:58:57  885437
>>885436
Чего рвёшься-то, кресторебёнок?
(Автор этого поста был предупрежден.)
Аноним 01/12/16 Чтв 02:59:48  885438
>>885422
>Делай reserve() для res.
Нихуя не поменялось.
>>885434
Браузеры те же, чем тебе не софт? KDE то же, в прошлом вроде скайп и софт адобы.
>>885434
>C#
Юнити - не ааа. И игр таковых (йобы) на нем нет. А в CryEngine/UE вроде как С++
Вообще, у вас тут какое-то буйство сегодня, зайду попозже.
Аноним 01/12/16 Чтв 03:00:03  885439
>>885431
>у строки не должно быть доступа по индексу.
Это называется не осилили UTF8/16
Хотя да, задачка интересная - не для дебилов.
Аноним 01/12/16 Чтв 03:00:53  885441
>>885437
>>885433
Угомонись, програмист на пхп.
Аноним 01/12/16 Чтв 03:02:04  885443
>>885439
Наоборот, любой, кто осилил utf8, понимает, что обращение по индексу это долбоебизм.
Аноним 01/12/16 Чтв 03:02:40  885444
>>885438
> KDE то же
ПЛАЗМА НЕ ПАДАЕТ!!!
Аноним 01/12/16 Чтв 03:04:03  885446
>>885443
>что обращение по индексу это
Сложная задача, ибо подразумевает частичную быструю распаковку.
Быдлу не положено, так-то.
Аноним 01/12/16 Чтв 03:12:05  885447
Вопрос, скорее, по C, но всё же.

Есть, скажем, char массив из 11 элементов:
unsigned char data[11] = {75, 101, 110, 110, 101, 100, 121, 22, 11, 7, 171};
И структура
struct MyStruct {
    char n[7];
    char d;
    char m;
    unsigned short y;
};

Собственно, можно ли её инициализировать в, эм, одну команду? Ну, то есть, как-то так магически struct MyStruct s(data), чтобы компьютер просто взял и распихал данные из массива по нужным ячейкам нужного размера?

Если так нельзя, то хоть можно как-то указать длину массива, а не писать целиком каждый отдельный элемент, вроде
struct MyStruct s = { {data[0], data[1], ...., data[6]}, data[7], data[8], (unsigned short )&data[9]};
?

Мне как-то это виделось очевидным применением структур для приведения каких-то сериализованных данных в нормальным вид, а тут оказывается, не только не знаю, как это сделать, но и можно ли вообще, так как не гуглится нифига.
Аноним 01/12/16 Чтв 03:12:42  885448
>>885447
>unsigned char data[11] = {75, 101, 110, 110, 101, 100, 121, 22, 11, 7, 171};
unsigned char data[11] = {75, 101, 110, 110, 101, 100, 121, 22, 11, 171, 7};
то есть.
Аноним 01/12/16 Чтв 03:13:26  885449
>>885447
memcpy или placement new
в зависимости от
Аноним 01/12/16 Чтв 03:14:31  885450
>>885447
>приведения каких-то сериализованных данных в нормальным вид
Обычно это делается сложнее.
Аноним 01/12/16 Чтв 03:17:57  885452
>>885450
Если сериализация бинарная - то нихуя не сложнее.
И вернись уже в пыхыпытред.
Аноним 01/12/16 Чтв 03:27:51  885456
>>885449
Ты имеешь в виду только для массива memcpy делать? Потому что memcpy(•s, dat, 11); ведь не сработает, адреса элементов не подряд идут.
Аноним 01/12/16 Чтв 03:29:09  885457
>>885456
>адреса элементов не подряд идут.
Ты скозал?
Аноним 01/12/16 Чтв 03:30:54  885458
>>885456
>адреса элементов не подряд идут
Ну так и (unsigned short )&data[9] может обломиться на endianness.
Весь вопрос получения структуры из массива упирается в то, как этот массив был получен из структуры (и был ли)
Аноним 01/12/16 Чтв 03:32:47  885459
>>885447
>Собственно, можно ли её инициализировать в, эм, одну команду?
Если обмазаться шаблонной магией как тут https://www.youtube.com/watch?v=abdeAew3gmQ , то может и можно.
Аноним 01/12/16 Чтв 03:35:08  885460
>>885458
>на endianness.
Нет такого вообще, потому что нет ничего кроме интела.
Смирись, дегенерат СПОшный.
Аноним 01/12/16 Чтв 03:36:21  885461
>>885457
Я проверил. между char m и unsigned short y (в моём случае, по крайней мере) стабильно один байт пропускается, из-за чего всё сбивается.

>>885458
>Ну так и (unsigned short )&data[9] может обломиться на endianness.
Предположим, тут всё работает и они чудесным образом совпадают.

>как этот массив был получен из структуры (и был ли)
Неизвестно, байты по сети получены. Это просто заголовок файла определённого формата, где представлена изначальная информация.
Аноним 01/12/16 Чтв 03:37:39  885462
>>885461
>стабильно один байт пропускается
То есть ты даже посчитать байты не способен, и четное от нечетного не отличаешь.
Тебе в пхп-загон.
Аноним 01/12/16 Чтв 03:45:23  885464
>>885462
Чё ты нервный такой? Я не понимаю, ты что, не согласен с тем, что memcpy(•s, data, data_len) не всегда работает, потому что адрес элемента может не быть адрес_предыдущего + размер_предыдущего, как в массивах?
Аноним 01/12/16 Чтв 03:47:30  885466
>>885459
Короче, то, чего я хочу, стандартными сишными средствами сделать нельзя, нужно руками всё выставлять, я правильно понимаю?
Аноним 01/12/16 Чтв 03:51:39  885468
>>885464
>не всегда работает
Всегда работает если все сделать правильно.
/лекция
Гуляй, Вася, свободен.
Аноним 01/12/16 Чтв 03:52:03  885469
>>885466
>я правильно понимаю?
Нет.
Аноним 01/12/16 Чтв 03:55:24  885472
>>885468>>885469
Блядь, ну так объясните как или ссылку на мануал/туториал/лекцию/главув книге дайте, я ж поэтому и пришёл, что не знаю.
Аноним 01/12/16 Чтв 04:04:26  885474
>>885472
Впрочем, хуй с вами, сам разобрался.
Аноним 01/12/16 Чтв 04:09:15  885477
>>885474
Хотя спасибо-таки стоит сказать, пара фраз натолкнула на некоторые мысли и другие поисковые запросы.
Аноним 01/12/16 Чтв 12:33:45  885605
Untitled.png (249Кб, 681x241)
>>881172 (OP)
перекатывайтесь в SQL.

https://www.youtube.com/watch?v=bIWLBM-F-YA
Аноним 01/12/16 Чтв 12:38:45  885610
>>885605
Да нахуя, Леночка наша. Хотя если ты ридер...
Аноним 01/12/16 Чтв 12:43:50  885612
>>885410
Бамп вопросу
>>885421
Тут код, не съеденный макабой.
Аноним 01/12/16 Чтв 13:10:21  885621
>>885610
>ридер
Пидер*
Аноним 01/12/16 Чтв 13:36:42  885632
>>885312
>>Я не могу динамически создавать объекты класса с открытыми полями?
Я такого не писал
Аноним 01/12/16 Чтв 14:45:26  885683
>>885434
>>C#
Можешь назвать хоть одну игру на нём?
Аноним 01/12/16 Чтв 15:14:47  885695
>>885683
рим ворлд
Аноним 01/12/16 Чтв 15:25:47  885704
>>885695
Хуя се ААА-йоба мыльцо с графином, Габен плачет и смеется
Мимо
Аноним 01/12/16 Чтв 16:38:16  885756
.jpg (203Кб, 1200x1600)
Есть здеся Qt-бляди? Как мне вывести список с прокруткой, состоящий из QPushButton и rich текста? Если бы не было кнопок, я бы просто положил в QTextBrowser эти строчки и дело с концом, но у меня в каждой пятой строке кнопка должна быть.
Аноним 01/12/16 Чтв 16:39:56  885758
>>885756
Qt 5.5.1 если что
Какой-то сишный лошара жалуется на судьбу Аноним 01/12/16 Чтв 17:01:58  885773
0bae5994ffcd22b[...].jpg (161Кб, 1200x801)
Какой-то сишный лошара жалуется на судьбу:

http://keinkeinkein.livejournal.com/139068.html?thread=3068476#t3068476

Для начала тебе нужно не распыляться, а выбрать одно из нескольких десятков направлений. Мир не ограничивается системным программированием, тебе не обязательно шагать по моим стопам. Направлений/стеков куча, выбирай сам. Выбери что-то одно, что-то узкое и выучи полностью теорию. Везде можно найти свое место, главное - не бояться, не тупить. Ближе к концу 13-го года я случайно увидел одну вакансию в разделе "Careers" одной компании из США, написал на почту, рассказал о себе. Было 3 интервью с интервалом в неделю. Первое - час просто пообщались по Hangouts на свободные темы. Второе - техническое, прощупывали почву, заодно спрашивали всякую хрень типа всех деталей работы OOM killer и шареной памяти. Третье - уже по файловым системам и ядерным потрохам. Подписал контракт, год отработал на фулл-тайме. Было тяжело, я уставал и примерно весной стал активно принимать таблетки xanax и prozac из аптек. Но это уже оффтопик. За весь 14-й год я поставил цель не потратить ни копейки (жил на сбережения), а весь доход за год складывать в условную копилку. В сумме вышло чуть более семидесяти килобаксов. Проект - не могу много рассказывать, но в общем это была распределенная децентрализованная отказоустойчивая проприетарная ФС под Linux, ядерный модуль и юзерспейсный софт. Я за год еще одну квартиру в городе купил в очень хорошем якобы престижном кирпичном VIP-доме (на последнем этаже, я только на последних покупаю в последнее десятилетие), но в убогом районе (напоминаю, в Воронеже всего 6 районов, и все 6 - белые гетто). Квартал - 4 дома - был вполне приличным, но дальше советские 9-этажки за ним стояли, гетто с люмпенами. Была мысль переехать жить в этот дом, но потом один раз поздно в пол 12-го ночи меня избили там во дворах, не понравилось местной шпане как я в упор на двуногую 30-летнюю агрессивную пьяную свинью-переростка в спортивном костюме посмотрел глаза-в-глаза, у них это атакой/наездом считается. Не ограбили, просто запинали толпой. Потом заявление писал. Короче, вполне реально тебе примерно тем же самым заниматься и перестать зависеть от государства. Но сразу скажу, ты бы даже первое интервью не прошел, тебя бы зачморили из-за английского. Нужно его хорошо знать, так, чтобы менеджер не напрягал свой слух и не замедлял свою речь, подстраиваясь под русского Ваньку. При этом нужно помнить:

- На серьезных проектах будешь единственным в команде, кто владеет русским языком. Никто не будет помогать, разжевывать, делать за тебя. Придется читать тонны манов и PDF'ок. Придется постоянно общаться голосом и текстом с теми, кто принципиально не будет переходить на симпл-инглиш из-за тебя.

- Многие задачи будут одновременно сложными, скучными и унылыми.

- Нельзя распиливать бюджет и тупить, если долго дебажишь race hazard - ставь в известность менеджера. Нужно работать с максимальной отдачей, эффективностью.

- Нужен самоконтроль, будешь сам управлять своим временем.

Я искренне хочу тебе помочь, но не знаю даже, как тебе вкатиться на рынок. Сразу скажу, избегай всяких бирж, галер и всех сервисов, где тебя покупают за X, а продают за 2X. Работай всегда напрямую на конкретного американца-менеджера конкретного проекта конкретной компании, который тебе платит, считает твою эффективность и метрики. Это самый выгодный вариант. Во всех остальных вариантах (русский тимлид, русский менеджер, аутсорсинговая фирма-прокладка) ты никогда столько в год не заработаешь, это абсолютно тупиковые пути для русского программиста. А как тебе вкатиться - сложно сказать, но попробуй, выучив теорию, найти какой-нибудь open source-проект, связанный с конкретной компанией. Не зацикливайся на системном программировании, у тебя может быть свой путь. Найди любой открытый проект, такой, чтобы какую-то библиотеку/ядро/модуль разрабатывала и курировала американская IT-компания, чтобы проприетарный проект базировался на открытом ядре. Скачай себе этот проект (git clone), изучи его, посмотри фич-реквесты, баги, исправь штук 5 и запили пару фич, а потом пиши на мыло американскому менеджеру проекта, что ты сделал то-то и то-то и хочешь контрактором поработать с испытательным сроком. Тебя возьмут. Готовься к тому, что в первый год твой годовой доход будет низким, но он будет в разы (!) больше годового дохода учителя физики из сельской школы (или кто ты там, забыл).

Конец цитаты
Аноним 01/12/16 Чтв 17:41:31  885794
modernsoftwared[...].gif (7024Кб, 320x236)
>>881172 (OP)
Господа, смотрите какая хуйня мне нужна:

Есть обьект, у него внутри уникальный айди и данные.
Для обьектов нужен пул, в котором элементы расположены последовательно, как в векторе. Элементы вместо удаления помечаются как неактивные.
В пуле нужен итератор по активным элементам.
И вместе с этим нужна возможность по айди получить стабильный указатель на элемент, который не проебётся, например, при ресайзе пула.

Это вообще физически реализуемо?
Аноним 01/12/16 Чтв 17:48:14  885799
>>881172 (OP)
Аноны, зачем нужен спп если есть петон?
Аноним 01/12/16 Чтв 18:16:10  885817
>>885695
>рим ворлд
И правда годнота, но дауны и дальше будут отрицать очевидное превосходство C# над CPP
Аноним 01/12/16 Чтв 18:26:13  885824
>>885799
Это как Андроид и Apple
CPP это как Apple дань моде и ненужные понты
Аноним 01/12/16 Чтв 18:49:33  885836
std::vector<unsigned char> myVector;
Что компилятору не нравится? Типа некорректно.
std::vector<char> myVector;
тоже не ок.
#include <vector> сделал.

А тут что не так? Ошибок не вызывает, но работать тоже не хочет - хуй вместо содержимого переменной.
http://ideone.com/LWAFQt
Аноним 01/12/16 Чтв 19:09:11  885842
>>885836
Векторы в одной программе?
Аноним 01/12/16 Чтв 19:49:07  885857
>>884529

> // что выведется тут???
> std::cout << x + 3 << std::endl;
0x6000000c, лол.
Аноним 01/12/16 Чтв 20:15:05  885869
>>885434
Ну по такой логике вм шершавого — кривое говно, ибо написана внезапно на... плюсах.
Аноним 01/12/16 Чтв 20:43:02  885894
>>885869
А эта ВМ сильно снижает производительность?
Аноним 01/12/16 Чтв 22:06:17  885941
>>885277
> В начале главы Хокинг рассуждает о том, что мог иметь в виду Гамлет, упомянув ореховую скорлупу.

А книга вся про такую концепцию или нет?
Или может Хокинг так обыграл выражение in a nutshell и in nutshell?
Аноним 01/12/16 Чтв 22:10:02  885942
Пиздец в новом стандарте поехавший рандом. Чтобы вызвать функцию рандома нужно новый объект движка создавать. Его ещё хранить надо не забыть. Как можно рандом одной строчкой сделать?
Аноним 01/12/16 Чтв 22:28:18  885949
>>885942
int true_rand() { return 0; }

Вызывать одной строчкой: true_rand();

Вот тебе не-поехавше.
Аноним 01/12/16 Чтв 22:31:11  885951
>>885942
> Его ещё хранить надо не забыть.
Тебе замыкания ("лямбды") для чего завезли?

Можешь хоть одной строчкой (длинной) создавать замыкание, создавая и сохраняя генератор+распределение в capture list.
Аноним 01/12/16 Чтв 22:33:33  885952
>>885951
И каждый раз вызывая лямбду создавать новый генератор? И заново смотреть время?
Аноним 01/12/16 Чтв 22:35:42  885953
>>885952
При вызове ничего не будет создаваться.
Аноним 01/12/16 Чтв 22:36:26  885955
>>885953
Пример покажи.
Аноним 01/12/16 Чтв 22:37:46  885958
SavedImage(664).jpg (129Кб, 523x604)
Посоветуйте лит-ры для начального изучения.
Аноним 01/12/16 Чтв 22:38:24  885959
>>885955
auto gen_index = [prng=std::mt19937(std::random_device{}()),distr=std::uniform_int_distribution<size_t>{0, N-1}]() mutable { return distr(prng); };
Аноним 01/12/16 Чтв 22:42:36  885964
>>885447
Могу предложить только такое.
http://melpon.org/wandbox/permlink/BiaBgRwt2Bw4jRpq

http://en.cppreference.com/w/c/language/struct_initialization
https://nickdesaulniers.github.io/blog/2013/07/25/designated-initialization-with-pointers-in-c/
Аноним 01/12/16 Чтв 22:43:32  885965
>>885958
Хорнак Дж. П. Основы МРТ (1996—1999 г.) http://www.cis.rit.edu/htbooks/mri/inside-r.htm
Аноним 01/12/16 Чтв 22:44:16  885966
>>885958
Мэнсфилд П. Быстрая магнитно-резонансная томография file:///home/wolfram/downloads/nob0510c.pdf
Аноним 01/12/16 Чтв 22:44:48  885967
>>885966
> file://home
Бля :-)
http://www.ufn.ru/ufn05/ufn05_10/Russian/nob0510c.pdf
Аноним 01/12/16 Чтв 22:44:57  885968
>>885965
Не знаю как реагировать.
Аноним 01/12/16 Чтв 22:47:50  885972
>>885959
> sizeof(gen_index)
> 2508
Я его хранить не буду
Аноним 01/12/16 Чтв 22:50:04  885974
>>885972
Это из-за std::mt19937.
Какая тебе разница, где его хранить, отдельно или в замыкании.
Аноним 01/12/16 Чтв 22:53:14  885977
>>885972
Ну если хочешь рандом похуже, замени на std::minstd_rand
Аноним 01/12/16 Чтв 22:53:20  885978
>>885974
Я а так уже засрал свой класс. Ещё 2 объекта сделают его ещё уродливее. Проще юзать сишный рандом. Вот зачем все внутренности нужно было нарушу вынимать?
Аноним 01/12/16 Чтв 22:53:58  885979
>>885972
>>885977
В смысле, если хочешь поменьше размером ценой рандома похуже.
Аноним 01/12/16 Чтв 22:55:20  885980
>>885979
Я хочу одну функцию которая не занимает память пока её не вызвать. Сама идей хранить генератор не годится.
Аноним 01/12/16 Чтв 22:56:25  885981
>>885978
> Проще юзать сишный рандом.
Ни для чего серьёзного он не подходит.
> Вот зачем все внутренности нужно было нарушу вынимать?
Чтоб контролировать соотношение качество/производительность. И были какие-то гарантии реального рандома (random_device)
Аноним 01/12/16 Чтв 22:59:18  885983
>>885980
Нет, ну можешь хранить только распределение, а генератор, получать параметром.
Аноним 01/12/16 Чтв 23:02:09  885985
Двачик, есть у меня
textBox5->Text = Convert::ToString(0,123456)
Как мне сделать чтобы пола 4 знака после запятой?
Аноним 01/12/16 Чтв 23:15:56  885997
>>885985
было*
Аноним 01/12/16 Чтв 23:30:59  886004
>>885985
char s[8];
auto v = 0.123456;
std::sprintf( s, "%.4f", v );

Например.
Аноним 01/12/16 Чтв 23:44:05  886007
>>885985
inline std::string to_precise_string(double num, unsigned precision)
{
   std::stringstream stream;
   stream << std::fixed << std::setprecision(precision) << num;
   return stream.str();
}
Аноним 01/12/16 Чтв 23:48:39  886010
>>885842
Да, ессно.
Аноним 01/12/16 Чтв 23:50:33  886012
>>886007
>>886004
Мне результат в textbox поместить надо в проекте widows forms
Аноним 02/12/16 Птн 00:18:51  886022
.jpg (19Кб, 265x292)
>>886012
> widows forms
> CLI/C++

Аноним 02/12/16 Птн 01:34:32  886044
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
Аноним 02/12/16 Птн 01:34:51  886045
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
ПЕРЕКОТ
https://2ch.hk/pr/res/886043.html
Рекурсия Аноним 03/12/16 Суб 00:51:51  886658
Сап, гайс. Читаю Липпмана. Есть задача: вывести содержимое вектора, используя рекурсивную функцию. Так вот, если использовать этот код http://ideone.com/kawfg3, то все работает. Если заменить параметр функции на итератор, то все летит по пизде и компилятор выдает разные результаты в зависимости от содержимого вектора. Ананас, поясни нюфане, где именно мой косяк спрятан. В условии выхода?
Аноним 04/12/16 Вск 06:33:55  887417
>>883437
upd
Примерно понял, что нужно реализовывать через создание структуры массив из 10 элементов, ссылка на следующий экземпляр.
Но как упростить работу с индексом элемента? Можно ли создавать методы для структуры?
Аноним 04/12/16 Вск 07:04:46  887421
>>887417
> Можно ли создавать методы для структуры?
Можно. Структуры это классы в C++, просто с public доступом к членам по-умолчанию.
Аноним 04/12/16 Вск 12:27:12  887487
>>884200
Не пизди. Залазишь на хедхунтер, вбиваешь вакансию быдлокодера С++, и изучаешь стек технологий, в основном это stl/boost/QT, ну и знание основных алгоритмов
Аноним 11/12/16 Вск 16:56:03  892489
Сап. У меня есть очередь, состоящую из объектов класса classA, которую нужно заполнить из файла при инициализации. Я использую динамический массив, но не могу разобраться до конца как это делать, помогите пожалуйста
Аноним 11/12/16 Вск 16:59:57  892493
Что с этим некротредом? Куда делась часть постов?
Аноним 11/12/16 Вск 17:00:52  892494
>>892489
Вась, ред уже 2 раза перекатили, сюда пиши https://2ch.hk/pr/res/892147.html
Аноним 12/12/16 Пнд 17:57:47  893131
>>892493
Модераторы почистили посты мамкоёбов из /b/
Аноним 12/12/16 Пнд 18:17:08  893148
>>893131
Лучше б шапку сделали, редиски.
Аноним 12/12/16 Пнд 18:22:18  893159
>>893131
Удалить спам или перекатить нюфагтред в котором было 2к постов — хуй. Зато почистить сгнивший тред — вот вам.
>>893148
В последнем треде >>892494 запилили шапку, успокойся.
Аноним 28/12/16 Срд 05:08:22  902314
Анон, подскажи годную литературу по make, чем ты пользуешься? пока не знаю как ее подключить, скачал блокнотик и minGW поковырялся в кишках утилита есть, наверно в консоли что-то прописывать нужно, подскажи годной литературы на русском, еще у меня вопрос, я полностью забыл математику, сложновато вкатиться в дискретную, подскажи годноты.
Аноним 28/12/16 Срд 15:09:08  902596
>>885756
Проще всего сделать свой виджет из кнопки и label.
Потом используй QListWidget::setItemWidget

Если нужна привязка к данным, или динамический контент, то только черещ ListView и ItemDelegate.
Аноним 30/12/16 Птн 22:54:17  903866
Бамп годному треду!
Аноним 30/12/16 Птн 23:24:02  903878
>>903866
Успокойся, довн.
Аноним 30/12/16 Птн 23:26:37  903881
Для танкистов: тред передаче сюда >>892494 но моча немножко слоу.
Аноним 02/01/17 Пнд 04:48:54  904554
Бамп годному треду!
Аноним 02/01/17 Пнд 10:55:54  904605
>>904554
Нелегетимный бамп.
Аноним 02/01/17 Пнд 10:59:47  904606
>>887487
И на собеседованиях тебе отвечают: мы перезвоним.
Аноним 02/01/17 Пнд 11:01:12  904607
>>902314
Там 1,5 команды, из которых 1,4 — это вообще баш. Доки же.
Аноним 02/01/17 Пнд 11:03:21  904608
ПЕРЕКОТ
https://2ch.hk/pr/res/904165.html
ПЕРЕКОТ
https://2ch.hk/pr/res/904165.html
ПЕРЕКОТ
https://2ch.hk/pr/res/904165.html
Аноним 02/01/17 Пнд 15:17:20  904673
Мама больно тестировала тебе в рот! Ты множественное наследование, я твоя мама тестировала тебе в рот.
Аноним 30/01/17 Пнд 17:17:00  922108
Хуй

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

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