Программирование


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

<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
515 40 146

C++ №85 /cpp/ Аноним # OP 04/04/19 Чтв 22:00:02 13751421
image.png (28Кб, 528x528)
528x528
Аноним 04/04/19 Чтв 22:19:40 13751472
Бамп

вкатился
Аноним 04/04/19 Чтв 22:55:10 13751583
>>1375142 (OP)
поч в семантике перемещение юзается ссылка на рвалью, ваще не понимаю чем она отличается от ссылки на лвалью
Аноним 04/04/19 Чтв 23:39:48 13751714
>>1375158
вопрос, конечно, выявляет всю глубину твоего непонимания вопроса..
Аноним 04/04/19 Чтв 23:43:11 13751755
>>1375081
>"../" значит "каталог выше", "../../" значит "два каталога выше" и так далее. Если ты беспокоишься за кроссплатформенность, то, во-первых, иди нахуй, а во-вторых, windows уже давно умеет понимать оба варианта слешей.
Оххх, блядь...
Слеши в #include не имеют отношения к слешам в ФС, этот меппинг на совести реализации.
А бекслеши в #include это вообще UB.
Аноним 05/04/19 Птн 00:05:46 13751856
>>1375171
почему? в методах копи семантики аргумент ссылка на лвалью, а мув семантики рвалью, разве нет? в чем профит и разница
Аноним 05/04/19 Птн 00:53:49 13751997
>>1375185
чтобы у тебя в итоге сработал перекруженый мув-конструктор или оператор присваивания
никакой магии нет, все основано на перегрузках
единственные сложности могут возникать с пониманием необходимости истользования std::move и std::forward
Аноним 05/04/19 Птн 00:58:49 13752008
>>1375199
уже думал понял, но тут вспомнил про перегрузку присваивания с перемещением и не понял. присваивание просто принимает ссылку на лвалью, а присваивание с перемещением рвалью, почему?
Аноним 05/04/19 Птн 01:00:03 13752019
>>1375199
вернее, с пониманием не необходимости использования, до этого то быстро доходишь на практике, потому что тупо не будет работать как надо, а с пониманием, как это устроено под капотом, в частности механизм свертывания ссылок может сначала привести в замешательство
Аноним 05/04/19 Птн 01:06:13 137520310
>>1375200
без примера кода конечно сложно понять в чем у тебя вопрос конкретно
Аноним 05/04/19 Птн 01:09:49 137520511
image.png (33Кб, 538x448)
538x448
image.png (20Кб, 793x208)
793x208
>>1375203
ну вот быренько нагуглил
пик 1-перегрузка присваивания с перемещением, принимает ссылку на рвалью
пик 2-просто присваивание, принимает ссылку на лвалью

ну чому так, какая разница
Аноним 05/04/19 Птн 01:27:38 137521212
>>1375175
> На совести реализации
> ub
Ты только что на ноль поделил.

все современные компиляторы поддерживают обратный слеш
Аноним 05/04/19 Птн 01:31:49 137521413
>>1375205
Ну, в первом случае ты переместил, то есть больше старым объектом пользоваться не сможешь, во втором просто скопировал.
Аноним 05/04/19 Птн 01:37:03 137521614
>>1375214
а что мне мешает им пользоваться? он просто будет как бы заново синициализирован
Аноним 05/04/19 Птн 01:38:21 137521715
>>1375214
я не понимаю почему аргумент в 1м случае ссылка на рвалью, а во 2м на лвалью
Аноним 05/04/19 Птн 01:46:12 137522316
>>1375216
а, понятны твои заморочки
дык пользуйся наздоровье, но это не приветствуется, нехороший код будет
именно для этого, кстати и сделана очистка в последних строчках метода
Аноним 05/04/19 Птн 02:08:24 137523217
>>1375212
>> На совести реализации
>> ub
>Ты только что на ноль поделил.
Нихуя я не делил на ноль.
Слеш — / — implementation-defined
Бэкслеш — \ — UB в C, но conditionally supported в C++.
Так что я ошибся с UB. А ты не умеешь читать.
Аноним 05/04/19 Птн 02:15:40 137523518
>>1375212
>все современные компиляторы поддерживают обратный слеш
Ну да. Только не так, как ты думаешь.
#include <experimental/string_view>
OK
#include <experimental\string_view>
fatal error: experimental\string_view: No such file or directory
#include <experimental\string_view>
^~~~~~~~~~~~~~~~~~~~~~~~~~
Аноним 05/04/19 Птн 02:49:42 137524219
>>1375235
Ну правильно, экранировать надо
Аноним 05/04/19 Птн 12:45:24 137537520
image.png (4Кб, 342x45)
342x45
image.png (3Кб, 291x27)
291x27
>>1375223
я так и не понял почему аргумент мув семантики ссылка на рвалью а копи семантики лвалью, еще есть вопрос 1. оператор + принимает рвалью, поэтому в

f=a+b;

лвалью a и b заменяются на рвалью неявно

как можно рвалью заменить на лвалью
Аноним 05/04/19 Птн 12:52:52 137537921
Аноним 05/04/19 Птн 13:09:54 137538522
>>1375379
мне с этим разобраться бы, а ты мне еще подкидываешь
Аноним 05/04/19 Птн 13:10:42 137538623
>>1375385
Используя l-value и r-value ты не разберешься с семантикой перемещения.
Аноним 05/04/19 Птн 14:03:54 137540824
Я не знаю, анон, понял ты или нет, но на самом деле ничего никуда не перемещается, всё остаётся на своем месте.
Аноним 05/04/19 Птн 14:11:16 137541325
Кто-нибудь хоть раз в продакшене использовал decltype()? И нахуя?
Аноним 05/04/19 Птн 14:20:41 137541826
Аноним 05/04/19 Птн 14:25:50 137542027
>>1375418
>Ебать, без PhD в CS не понять!
Ох у тебя сарказм попер.
Ну раскажи например про temporary materialization.
Аноним 05/04/19 Птн 14:26:52 137542128
>>1375420
>Ну раскажи например про temporary materialization.
В глаза ебёшься? Выше ссылка.
Аноним 05/04/19 Птн 14:29:10 137542229
>>1375421
Что-то сильно кастрировано.
Аноним 05/04/19 Птн 14:39:20 137542630
Аноним 05/04/19 Птн 14:39:51 137542731
>>1375426
Я как-то более детально встречал:
Temporary materialization occurs in the following situations:

when binding a reference to a prvalue;
when performing a member access on a class prvalue;
when performing an array-to-pointer conversion (see above) or subscripting on an array prvalue;
when initializing an object of type std::initializer_list<T> from a braced-init-list;
when typeid is applied to a prvalue (this is part of an unevaluated expression);
when sizeof is applied to a prvalue (this is part of an unevaluated expression);
when a prvalue appears as a discarded-value expression.
Аноним 05/04/19 Птн 14:42:47 137542932
Аноним 05/04/19 Птн 16:31:13 137547433
>>1375375
>я так и не понял почему аргумент мув семантики ссылка на рвалью
затем чтобы эта функция работала только для временных значений! или для значений, которые стали ненужными в текущем контексте и их можно передать дальше (посредством std::move)
все же просто
функция, принимающая r-ссылку, просто не примет фактический параметр, который представляет из себя l-значение и все
Аноним 05/04/19 Птн 16:34:45 137548034
>>1375386
ну дык да, нужно еще как минимум понимание работы универсальных ссылок, понимание когда надо использовать std::move и std::forward, а лучше понимать механизм сверки ссылок
Аноним 05/04/19 Птн 16:37:30 137548435
1310761162204.jpg (732Кб, 600x1197)
600x1197
>>1375408
>c++20
>ничего никуда не перемещается, всё остаётся на своем месте
ага
а теоретические работы физиков-ядерщиков в последние годы ничем не отличаются от теологических диспутов в позднее средневековье

Аноним 05/04/19 Птн 16:39:02 137548636
>>1375484
>c++20
Разогнались что-то они.
мимопроходил
Аноним 05/04/19 Птн 16:42:22 137548937
>>1375413
>decltype
дзен заключается в том, что внезапно в c++14 и с++17 он почти не нужен, в то время как в с++11 его приходилось таки интенсивно использовать

Аноним 05/04/19 Птн 16:46:02 137549138
>>1375489
а вообще не буду выебываться типа сакральными знаниями: шикарное объяснение как работает и зачем нужен decltype есть у майерса в последней книжке, рекомендую
Аноним 05/04/19 Птн 18:10:05 137554539
>>1375418
> Что экранировать?
Обратный слеш. Он же сам как экран работает.
Аноним 05/04/19 Птн 19:12:50 137558140
Поясните за эксепшоны: нужны или ненужны? Вроде столько учат их делать, а в продакшне вроде как ненужны.
Аноним 05/04/19 Птн 19:17:01 137558341
>>1375581
нужны как минимум для возврата ошибок из конструкторов и перегруженых операторов
Аноним 05/04/19 Птн 19:23:35 137558642
Привет анон. Подскажи пожалуста какую книгу лучше использовать для вкатывания. Присувствуют навыки на уровне написать Hello world, сложить две матрицы, создать динамичный массив.
Аноним 05/04/19 Птн 19:46:16 137559543
>>1375586
для вкатывания куда? у нас все в труху!
наверни мейерса последнюю книжку - "эффективный и современный с++" и "шаблоны с++, второе издание" вандервурда, там базовые инструменты крестов обсуждаются
Аноним 05/04/19 Птн 20:05:29 137560144
>>1375491
Спасибо, доброанон! Насколько рекомендованная книга пойдет вкатывальщику, хуеющему от 50 видов ссылок?
Аноним 05/04/19 Птн 20:16:15 137560445
>>1375601
ну там базовые знания от которых следует отталкиваться
как то так
Аноним 05/04/19 Птн 20:39:23 137561246
>>1375595
>"шаблоны с++, второе издание" вандервурда
ИМХО для вката сурово. Ему бы базу освоить.
Аноним 05/04/19 Птн 20:44:34 137561547
>>1375583
а в чем принцип отказа от экспешнов? не ошибаться? парсить любой ввод?
Аноним 05/04/19 Птн 21:24:15 137563748
Хочу сделать что-то вроде https://www.youtube.com/watch?v=Y4gU2vttNTo
Что мне использовать, чтобы сделать окошко, картинки привязать к объектам? DirectX? Opengl? WinApi?(нужно ли знание подобного на реальной работе? Оно, насколько я знаю, довольно тормозное)
Аноним 05/04/19 Птн 21:37:06 137564149
govno.png (134Кб, 1654x1040)
1654x1040
>>1375637
Скачал сорсы. Пиздец, конечно. Кто же такой код пишет?
Аноним 05/04/19 Птн 21:53:31 137565250
>>1375615
Оверхед от них большой, вот и не используют их
Аноним 05/04/19 Птн 21:56:32 137565451
>>1375637
Что угодно из трёх, но в данном случае будет проще sfml
Аноним 05/04/19 Птн 21:57:04 137565752
>>1375637
libtcod обычно используют, если не хотят свое что то особенное делать.
Аноним 05/04/19 Птн 21:58:47 137565953
И вообще пройди на roguebasin
Аноним 05/04/19 Птн 22:29:27 137568454
>>1375641
добро пожаловать в геймдев DDD
Аноним 06/04/19 Суб 00:22:03 137573655
06/04/19 Суб 00:37:37 137574356
Поссал на лица жирным задротам.
Аноним 06/04/19 Суб 01:11:02 137575357
Кто меня научит программировать с нуля.

Аноним 06/04/19 Суб 01:11:52 137575458
Аноним 06/04/19 Суб 01:13:57 137575659
>>1375754
Вот ты иди в гугл.

А мне нужен живой учитель.
Аноним 06/04/19 Суб 01:33:29 137575960
>>1375753
Берёшь Automate the Boring Stuff with Python
Читаешь
Всё, ты погромист. Где моё бабло?
Аноним 06/04/19 Суб 01:40:31 137576061
Поясните за SRP. Вот у меня в симуляции эволюции есть один огромный обьект State, которые каждый тик проверяет состояние кучи вещей и вообще содержит всю инфу. Надо его разделить на кучу маленьких обьектов, у каждого из которых свой небольшой интерфейс?
Аноним 06/04/19 Суб 01:50:16 137576162
>>1375759
Я всегда знал, что у программистов не смешные шуточки.



Аноним 06/04/19 Суб 04:30:59 137578563
Ребятки, помогите выполнить лабу. Всю ночь подменял на работе. Думал, что пары не будет оказалось будет, и собственно забил болт.

Пожалуйста помогите. Понимаю, что закидаете говном, но надеюсь на лучшее.

Кидайте тг. В долгу не останусь.
Аноним 06/04/19 Суб 08:27:29 137581364
>>1375756
Некромантия где-то в /ре наверное.
Аноним 06/04/19 Суб 08:33:27 137581665
>>1375760
По-идее да, у тебя должна каждая ентити хранить свой стейт, а не один стейт хранить состояние всех энтити. Если они неоднородные канеш, а стейт не просто контейнер.
Аноним 06/04/19 Суб 12:38:39 137590466
>>1375545
Хватит нести хуйню.
Аноним 06/04/19 Суб 12:39:31 137590667
>>1375615
>а в чем принцип отказа от экспешнов? не ошибаться? парсить любой ввод?
Пользоваться контрактами.
Аноним 06/04/19 Суб 12:55:29 137591668
>>1375906
А ты не очень умный
Аноним 06/04/19 Суб 13:32:30 137593469
image.png (2Кб, 270x43)
270x43
image.png (115Кб, 1026x565)
1026x565
image.png (3Кб, 449x31)
449x31
Сап, срочно понадобилась библиотека boost по работе (именно она -требование начальства), а значит и си, хотя я предпочитаю более высокоуровневые языки. скачал библиотеку, откомпилировал (пик1) в папочку. Пытаюсь подключить, пишу (пик2) и отключаю прекомпилированные заголовки и ловлю ошибку (пик3)... че не так? я так понимаю, файл недокомпилировался какой-то, но какой и почему? msvs 2019
Аноним 06/04/19 Суб 13:42:43 137593670
>>1375934
Бинарники буста находятся в папке stage/lib/
Аноним 06/04/19 Суб 13:43:14 137593871
>>1375934
Создание кода Multithread debug и тд
Аноним 06/04/19 Суб 13:57:07 137595072
>>1375934
на твоем уровне понимания (судя по тексту) лучше бы тебе забирать ее через vcpkg
а лучше вообще не забирать целиком.. а брать только то без чего не обойтись.. с учетом того что в с++17 множество функционала из буст перекочевало.. возможно и не пришлось бы бустом пользоваться при здравом размышлении..
в любом случае если у тебя были проблемы, то с бустом их будет x2, кхе кхе
Аноним 06/04/19 Суб 13:57:15 137595173
image.png (115Кб, 1026x565)
1026x565
>>1375936
я так понял, что в с/с++ нужно указывать к общей папке, а вот тут уже к lib
Аноним 06/04/19 Суб 14:42:43 137596374
image.png (116Кб, 674x738)
674x738
>>1375950
окай, подключил vcpkg ставлю библиотеку boost::asio и ловлю вот такую ошибку. в чем проблема? она не компилилтся, насколько я понимаю
Аноним 06/04/19 Суб 16:19:40 137600575
>>1375963
See logs for more information, Кирюха
Аноним 06/04/19 Суб 16:29:11 137600876
>>1375652
Ты на них логику что-ли строишь?
Аноним 06/04/19 Суб 16:33:52 137601277
>>1376005
так и там вся та же инфа про то что инструменты для mcvs не найдены
Аноним 06/04/19 Суб 18:15:21 137606278
Аноним 06/04/19 Суб 18:35:09 137608379
>>1375934
>компилить буст
Ты же поехавший нафиг, его сами разработчики с трудом компилят. Ищи готовую сборку.
Аноним 06/04/19 Суб 19:13:53 137611480
>>1375934
Попробуй пересобрать
b2 --build-type=complete
Аноним 06/04/19 Суб 19:52:12 137613181
изображение.png (7Кб, 321x324)
321x324
Я ещё не проверял, но будет ли это работать?
Аноним 06/04/19 Суб 19:53:11 137613382
>>1376131
Я имею в виду double перед переменной int для действий над ней в формате double.
Аноним 06/04/19 Суб 19:59:55 137613783
>>1376133
abs(int - double)? Сам то как думаешь?
и что здесь от с++
Аноним 06/04/19 Суб 20:03:30 137613984
изображение.png (11Кб, 374x439)
374x439
>>1376137
Там chas, min и sec double, а в uch всё intы.
Аноним 06/04/19 Суб 20:03:58 137614085
>>1376139
Тогда не вижу преград.
Аноним 06/04/19 Суб 20:04:52 137614186
изображение.png (1Кб, 259x21)
259x21
>>1376137
>и что здесь от с++
картинка
>>1376140
Понял, спасибо.
Аноним 06/04/19 Суб 20:18:13 137615287
>>1376083
он еще все это делает в vs19 которая буквально позавчера вышла, лол
из новых версий vs как правило 2 года баги вычерпывают ))

Аноним 06/04/19 Суб 20:34:42 137616788
ну, тут такая ошибка, какбэ, что компилятор не при чем, скорее что-то с конфигурацией
Аноним 06/04/19 Суб 21:31:06 137620289
image.png (80Кб, 200x200)
200x200
Аноним 06/04/19 Суб 21:36:20 137620590
изображение.png (11Кб, 320x34)
320x34
Аноним 06/04/19 Суб 21:36:31 137620691
>>1376202
Это нормально для ньюфага. Ибо придумавание английских имён вразумительных требует кучу времени по первой.
Аноним 06/04/19 Суб 21:40:59 137621192
Screenshot3.png (14Кб, 483x247)
483x247
Screenshot4.png (3Кб, 408x105)
408x105
Не работает скин курсора в виндовс окне, ico нормально отображается, курсор тоже подключен, то при наведении на окно остается обычным.
Аноним 06/04/19 Суб 21:54:30 137622293
>>1375637
бери лучше SDL2, еще потом в реальных проектах пригодится
Аноним 06/04/19 Суб 21:55:18 137622494
>>1376205
Чтож ты делаешь содомит!
Аноним 06/04/19 Суб 22:01:54 137623495
Как ввести в файл интовое значение с одним незначащим нулём, если число меньше 10?
Аноним 06/04/19 Суб 22:07:13 137624596
Аноним 06/04/19 Суб 22:08:03 137624697
>>1376211
бля, пацаны, глядите: живой неадерталец! gui под винду! на нативе!
Аноним 06/04/19 Суб 22:09:21 137624998
>>1376245
Если, конечно, через потоковый ввод/вывод работаешь.
Аноним 06/04/19 Суб 22:38:51 137626999
изображение.png (16Кб, 462x407)
462x407
>>1376245
>>1376249
Я сделал так. Не слишком ли говнокодистое решение?
Аноним 06/04/19 Суб 22:41:41 1376270100
Анон, никогда не работал с бустом.
Для меня это какой-то монструозный монстр в представлении.
С чего начать? Какие части библиотеки наиболее популярны или часто используемы?
Аноним 06/04/19 Суб 22:42:46 1376271101
>>1376246
уже наблюдаем за экспонатом
Аноним 06/04/19 Суб 22:43:44 1376272102
>>1376270
Почитай книгу Антоши Полухина. И да, буст сильно меньше релевантен, если у тебя компилятор с С++11
Аноним 06/04/19 Суб 22:44:10 1376273103
>>1376270
уже особо никакие, основное уже есть в современных стандартах, другое - лучше брать сторонние либы
Аноним 06/04/19 Суб 23:03:40 1376287104
>>1376269
Долбоёб? Тебе выше написали
> setw/setfill
Аноним 06/04/19 Суб 23:22:59 1376304105
Аноним 06/04/19 Суб 23:24:47 1376306106
>>1376269
Хуже написать невозможно.
Аноним 06/04/19 Суб 23:44:13 1376316107
>>1376246
А что такого-то? Мне недавно тоже понадобилось делать ГУИ, изучаю MFC. Всяко лучше чем со всяким кривым кроссплатформерным говном мучаться.

>>1376304
Не по хипсторски
Аноним 06/04/19 Суб 23:47:23 1376321108
>>1376316
В сторону Qt не смотрел?
заебёшбся же писать эти сраные BEGIN_MSG_MAP
Аноним 06/04/19 Суб 23:56:48 1376333109
>>1376246
Ну может у человека времени полно и нервы крепкие...
Аноним 07/04/19 Вск 00:04:03 1376340110
>>1376321
Не хочу QT с его кодогенерацией и кривой интеграцией со студией
Аноним 07/04/19 Вск 00:07:28 1376341111
>>1376340
Ну хрен его знает, задал правила в property sheet'ах один раз и кодогенерация будет о себе напоминать лишь хлипкой строчкой в билд логе.

или ставь расширение для студии, тогда вообще ебаться не нужно
Аноним 07/04/19 Вск 00:09:07 1376342112
>>1376246
А как ещё делать? Я начал читать А. Ламота, там с этого начали, но книга старенькая
Аноним 07/04/19 Вск 00:15:05 1376349113
>>1376341
Это если все заработает.
Но по моему опыту это все работает через задницу и постоянно ломается. Я немного экспериментировал с QT.

Любая зависимость от чего-то в С++ проекте - боль.
Гораздо проще выучить MFC/WinAPI, и все - Platform SDK ставится вместе со студией, добавил инклюд, прилинковал библиотеку и все работает.
Аноним 07/04/19 Вск 00:15:35 1376350114
>>1376342
Макса Шлее читай, книга по Qt.
По факту это единственный годный GUI фреймворк в 2019 году
Аноним 07/04/19 Вск 00:18:45 1376353115
>>1376349
> Это если все заработает.
> Но по моему опыту это все работает через задницу и постоянно ломается. Я немного экспериментировал с QT.
Уверяю, ты что-то делал не так.

> добавил инклюд, прилинковал библиотеку и все работает.
Со всеми нормальными библиотеками так (с некоторыми даже линковаться не надо).
Если тебе именно это нужно, посмотри в сторону wxWidgets, там тоже всё примерно так и работает (хотя документацию ты хрен найдешь, а если и найдешь, то 99% шанс того, что она устарела)
Аноним 07/04/19 Вск 00:35:58 1376362116
>>1376350
Начинал, он как-то хуево объясняет + этот граф редактор, который за тебя пишет код вообще пиздец, нахуй я пишу на С++, если делаю часть функционала в конструкторе.
Аноним 07/04/19 Вск 00:42:55 1376364117
>>1376362
Так никто не запрещает тебе самому писать создание гуя, другое дело, что через designer получается быстрее и не хуже, чем руками. Лично мне так удобнее. К тому же ты всегда можешь скопипастить себе то, что uic нагенерировал
Аноним 07/04/19 Вск 04:30:03 1376442118
15303002763620.png (194Кб, 388x475)
388x475
Что-то решил вкатиться в DirectX для программирования приложений под винду и охуел от количества кода для по сути элементарного действия, сама математика для меня не проблема.
Хочу сделать пару проектов для практики(виндовс окошки с кнопками, картинками, возможно анимациями). Но всё никак не могу решить на чём "основать" GUI, писать самому с окошками через API тормозно и много кода, использовать конструктор тоже не продуктивно. Хочу технологию, которая нынче актуальна, а не старую библиотеку для 2д графики, которая уже не используется. Что посоветуете?
Аноним 07/04/19 Вск 05:32:42 1376447119
>>1376442
>Хочу сделать пару проектов для практики
> виндовс окошки с кнопками
< Windows.h>
Аноним 07/04/19 Вск 06:40:49 1376449120
Аноним 07/04/19 Вск 07:01:16 1376452121
>>1376316
с не кроссплатформенным - идите на заводик станки настраивать, нашим клиентам требуется запуск приложения на разных архитектурах, поэтому мы вам перезвоним
Аноним 07/04/19 Вск 07:41:48 1376458122
>>1376270
По работе в основном format, asio и периодически ptree/json/xml. А так, да, большинство полезных вещей в STL перекочевало.
Аноним 07/04/19 Вск 08:32:59 1376474123
>>1376452
Кросплатформенных гуи не существует. Твоя кута это всего лишь говно как если запускать программу через RAdmin или терминальный сервер. Тормозная параша, которая тебе только картинку рисует вместо реального приложения под твою ос. Понятно, что показ картинок на любой ос сделать легко, но это не мультиплатформенное приложение, а наоборот, высер, не работающее ни на одной платформе, а вместо этого показывающее на всех платформах фальшивую картинку.

Но это даже не самая большая ложь. Главная ложь в том, что кута это не гуи и не библиотека и не С++, а васянский маня-конструктор с васянскими маня скриптами, генерирующимися васянским маня-генератором. Если привести понятную аналогию, то это высер наподобие "Юнити" для игр, тормозное говно говна, но зато любой дебил сможет тыкать мышкой, отсюда и широкая популярность (среди даунов в основном). Только в отличие от Юнити, в куте не только нагородили тормозное говно, но еще и сам язык изгадили под себя, так что кто в эту парашу вляпается, на С++ уже писать не сможет, ведь там куча маня-парадигм васянских навертели.
Аноним 07/04/19 Вск 08:48:42 1376480124
>>1376474
Шизик, пиздуй обратно в свой тред, без пруфов производительности ты известно кто.
Аноним 07/04/19 Вск 08:55:55 1376486125
>>1376474
И, кстати, последнее означает, что если тебя угораздило писать программу на куте, а потом ты прозрел и решил перейти на нормальный С++ и нормальный гуи, то сделать этого не сможешь, ведь кутэ-параша пронизывает всё твоё приложение. Анальное рабство, которому эппл с гуглом и майкрософтом позавидуют.

>>1376480
Тупые дроны-подсоски кутэ уже давно слиты → >>1372781 (OP)
Аноним 07/04/19 Вск 09:00:22 1376488126
>>1376486
Шизик, лечись, сука, а то санитары приедут
Аноним 07/04/19 Вск 09:23:55 1376499127
>>1376474
про кутью я и не говорил ничего, это та еще параша
Аноним 07/04/19 Вск 09:32:14 1376505128
>>1376488
Вообще он >>1376474 дело говорит.
Не то чтобы я досконально знаком с Qt, но когда мне на жалкое окно генерируется куча ебучего кода, который лежит вообще в отдельном файле и в проекте не виден - такое себе удовольствие. Удали какую-нибудь кнопку - и больше не будет компилиться, потому что в этом файле с UI не удалена кнопка.
Ладно ещё если самому писать гуй, но использовать ихнишний формошлёп - это совсем пиздец.
Чего уж говорить о проблемах с компиляторами - у каждого третьего не работает и про Qt видишь только "как сделать шобы работало".
Собирается все тоже особо охуительно в их родной IDE: чтобы внести маленькую правочку в проект в виде изменения символьной константы или изменения аргумента функции), нужно пересобирать проект.
Она ж штука умная, этот QtCreator, видит, что изменения незначительные - нахуй собирать опять изменившееся. А потом сиди и еби себе мозг, почему access violation вдруг взялся и в строку какая-то хуйня записывается. Ровно до полной пересборки проекта.

А особо доставляет вес последней версии на винду (35 Гб) и на линь(4 Гб).
И умственный уровень адептов, имеющих охуительную и крайне подробную документацию хотя и у плюсов с этим проблем нет, но на каждом шагу спрашивающих, как и что сделать - полушепотом ух бля.
Аноним 07/04/19 Вск 10:12:55 1376531129
>>1376505
А какие альтернативы на срр? Не на винапи же писать
Аноним 07/04/19 Вск 10:24:58 1376540130
>>1376531
>писать
Что и куда? Нужно сначала определиться что, зачем и кому ты пишешь, а только потом, на этом основании выбирать подходящий инструмент и только потом садиться писать на нем.
Аноним 07/04/19 Вск 10:58:56 1376558131
>>1376505
Вот объясни, нахуя ты пользуешься uic'ом, если он тебе не нравится? Пиши блядь самостоятельно эту простыню кода по созданию UI, хотя уже понятно, что ты ебанутый, который не может добавить .ui файл в проект и за каким-то хуем меняет автосгенерированные блядь файлы.
Аноним 07/04/19 Вск 11:19:48 1376569132
>>1376531
Я пользуюсь SFML, меня устраивает.
Есть ещё какая-то библиотека, в Страуструповской книге для начинающих из шапки используется - как раз примеры можно посмотреть.

>>1376558
> Ладно ещё если самому писать гуй, но использовать ихнишний формошлёп - это совсем пиздец.
Ты пост не читал, да?
Аноним 07/04/19 Вск 11:21:41 1376572133
>>1376569
ты на нем гуйцы пишешь?
Аноним 07/04/19 Вск 11:27:48 1376574134
>>1376569
>SFML
Максимум говноед детектед
Аноним 07/04/19 Вск 11:31:25 1376576135
>>1376572
Нет, я Qt вообще не использую.

>>1376574
Два стула, знаете ли.
Давай, подскажи идеальный вариант для написания гуя, ты же лучше знаешь.
Аноним 07/04/19 Вск 11:58:08 1376591136
Наверное под Винду GUI лучше писать на UWP?
Аноним 07/04/19 Вск 12:00:57 1376593137
>>1376591
для домашнего проекта пиши на чем хочешь. Для рабочего - уточни у вышестоящих коллег
Аноним 07/04/19 Вск 12:23:14 1376602138
>>1376593
Я не думаю, что в России есть много контор, которые готовы тратить бюджет на нативных разработчиков. Если команда девелопит какой-нибудь тул, то им быстрее нанять несколько Qt-прогеров, которые быстро сделают UI под все платформы сразу. К тому же сами продукты, которые на российском рынке разрабатывают, обычно не подразумевают нативно выглядящего интерфейса. Все делают профессиональные приложения (обработчики видео, редакторы и тд), у которых должен быть свой неповторимый стиль. Поэтому если хочется пилить интерфейсы в продакшене, учите Qt.
Аноним 07/04/19 Вск 12:47:06 1376613139
>>1376447
Письмо на нативном нынче нужно на работе?
Аноним 07/04/19 Вск 13:11:36 1376632140
Аноним 07/04/19 Вск 13:12:38 1376633141
Аноним 07/04/19 Вск 13:26:55 1376649142
>>1376591
Посмотрел как-то на мсдн пример hello world на uwp. Пиздец конечно.
От C++/CX у меня вообще холодный пот на жопе выступил. Это ж надо было так изговнить язык (который и так не шедевр простоты дизайна)
Аноним 07/04/19 Вск 13:31:32 1376650143
>>1376649
На C# фронт писать нужно.
Аноним 07/04/19 Вск 13:33:58 1376651144
Аноним 07/04/19 Вск 13:55:08 1376665145
>>1376651
У тебя не так много вариантов. С++ не предназначен для написания интерфейсов.
Аноним 07/04/19 Вск 14:03:11 1376669146

Вот этот >>1376540 дело говорит
>>1376531 этому
Но я скажу так - конторы, которые пишут на несколько платформ, пишут сразу кросс-платформу. Тупо дешевле.
Аноним 07/04/19 Вск 14:09:24 1376679147
Аноним 07/04/19 Вск 14:17:56 1376686148
Аноним 07/04/19 Вск 15:48:26 1376748149
>>1376686
> какой сложности приложения
>поголовно хобби-тир программки
Аноним 07/04/19 Вск 20:35:50 1376863150
>>1376452
Мне ГУИ нужен для личного проекта, а он под Windows.
Аноним 07/04/19 Вск 21:08:38 1376885151
Аноним 07/04/19 Вск 23:17:03 1376963152
>>1376211
Бампну, почему не работает?
Аноним 08/04/19 Пнд 01:11:51 1377024153
>>1375142 (OP)
hello world
Пишу программу которя по условию работает с данными в файлах. Так как программа объемная (куча функционала помимо основного) отладка будет сопоставима -- немного побаиваюсь за распаеную emmc на моем лаптопе.

Короче, если я открыл файл raw = fopen(_raw,"r+t"); для чтения и записи, потом рабтаю с этим файлом как с потоком читая через fscanf и пишу туда через << много раз (т.е содержимое постоянно перезаписывается) в цикле, но закрываю файл только в конце когда в нем уже конечная информация. Сколько раз в FS перезаписывается файл ? Только в конце ? Или постоянно как только я лезу в него во время выполнения программы через << ?

Ах, да, как заставить scanf читать string ?
Аноним 08/04/19 Пнд 02:00:51 1377034154
>>1377024
Если не хочешь писать в файл, пиши в обычный поток, хули
Аноним 08/04/19 Пнд 02:21:30 1377035155
>>1377034
> по условию
p.s я не не хочу писать в файл, нужно писать туда но не сохранять пока не доделаю e.g если писать в notepad.exe, пока явно не сохранишь -- перезаписи файла не будет, в самом файле же за это время можно сколько угодно раз наперезаписываться.
Аноним 08/04/19 Пнд 02:24:47 1377036156
>>1377024
>Сколько раз в FS перезаписывается файл ?
Столько, сколько раз вызывается flush (если, конечно у тебя буферизированный ввод-вывод).

>как заставить scanf читать string
mystring.c_чтототам()


>>1377035
>нужно писать туда но не сохранять пока не доделаю
Так и пиши в поток в памяти, а потом сохраняй его на диск.
Аноним 08/04/19 Пнд 02:25:28 1377037157
>>1377035
Я имел ввиду, что в целях тестирования можешь не всегда в файл писать.
А для того, что ты описал, нужно наверное временный файл создавать (так примерно и работают все текстовые редакторы)
Аноним 08/04/19 Пнд 15:32:13 1377198158
ф-я печати std::tuple
Аноним 08/04/19 Пнд 17:41:37 1377236159
Ребят, дайте название функции, которая сравнивает два символьных массива и проверяет, какой массив старше по алфавиту, а какой младше.
Аноним 08/04/19 Пнд 17:48:29 1377239160
>>1377236
Звучит как реквест strcmp, но это не С++ метод решения.
Аноним 08/04/19 Пнд 17:51:21 1377240161
>>1377239
А какой у C++ есть подобный метод решения? Я, что ли, знал, что это из чистого C и из C треда меня не погонят сюда?
Аноним 08/04/19 Пнд 18:23:44 1377259162
>>1377240
те по какому алфавиту? языков на планете несколько десятков тысяч..
в какой символьной кодировке? юникод? тогда какое представление юникода - utf8, utf16? может или старые восьмибитные кодировки? или вообще расширенные восьмибитные кодировки? дык их десятки, если не сотни..
а во многих алфавитах вообще оче сложно определить порядок букв, там и понятие буквы и то может быть расплывчато..
итого чтобы написать такую функцию, нужно потратить несколько десятков человеко-лет
Аноним 08/04/19 Пнд 18:37:10 1377268163
>>1377259
Судя по вопросу, там что-то уровня лабараторной и, в лучшем случае, ASCII/
Аноним 08/04/19 Пнд 18:37:41 1377270164
>>1377240
Как пример, с использованием STL. C++11 минимум
Аноним 08/04/19 Пнд 18:40:53 1377272165
Аноним 08/04/19 Пнд 19:02:26 1377287166
>>1377259
Ты еще забыл, что пользователь обычно хочет, чтобы "11" шло после "9" при сортировке.
Аноним 08/04/19 Пнд 19:18:03 1377293167
Аноним 08/04/19 Пнд 20:12:30 1377309168
Аноним 08/04/19 Пнд 20:41:31 1377323169
изображение.png (169Кб, 1920x1080)
1920x1080
сап. Нужно сделать сериализацию и десериализацию вектора структур, как я понял вектор это объект, а значит просто вектор структур сериализовать не получится, нужно по одному элементу из вектора сериализовать и кидать в текстовый файл. Как это реализовать, не до конца понимаю суть сериализации, всё что понял, это то что сериализация это превращение любого винда информации в бинарный набор символов, ну или в другой вид. Сможет кто-нибудь вкратце обьяснить как через fstream это реализовать?
Аноним 08/04/19 Пнд 20:44:51 1377325170
У меня вопрос, на qt собранные программы не могут запускаться на компьютере без qt?
Аноним 08/04/19 Пнд 20:56:37 1377334171
>>1377325
при статической линковке - да. Иначе будь добр, поставляй библиотеки рядышком с exeшником
Аноним 08/04/19 Пнд 21:00:38 1377336172
Аноним 08/04/19 Пнд 21:03:45 1377343173
>>1377323
Бля, я вот нихуя не пойму, из какого ты принципа форматируешь код и как тебе может быть удобно делать разные отступы и подряд идущие переменные называть снейккейсом и кэмелкейсом, честно. Ты проверялся у психиатра? Я не оскорбить пытаюсь, я реально беспокоюсь. Это как первую половину строки писать курсивом, а потом - печатными прописью, а вторую половину листа вообще иероглифами.

По вопросу.
Во-первых - std::ofstream::operator>> + std::vector::data + reinterpret_cast<char*>. И никаких "записывать по элементу", у тебя же не список с последовательным доступом.
Во-вторых - что ж ты уцепился за эти "(де)сериализации"? Записать в файл и все, ёпта. Сериализация, вообще - разложение функции в многочлен. Например, в ряд Тейлора. Десериализовать твоего препода на органы, раз он так сформулировал задание.
А в твоём случае нужно просто сбросить груду данных на диск, а потом считать эту груду данных в контейнер. Как если ты ящик с двумя ячейками пересыпал в пакет и тебе надо обратно все разложить по ячейкам. Вот тебе и простое описание этих терминов.

+ Замечание: твои члены-даты в структуре никак друг от друга не отличаются. Зачем два разных типа данных, а не две переменные одного типа "дата", объявленного за пределами структуры?
Аноним 08/04/19 Пнд 21:16:39 1377348174
>>1377343
>снейккейсом и кэмелкейсом,
я не считаю себя знатоком в коей то степени плюсов, на фоне группы гуру мудрец сидящий на горе синай, но это просто они ещё хуже, а я мыслить абстрактно кое как могу, и так как мог многое упустить, не знаю как правильно форматировать код, и делаю как удобно читать, тоесть пишу параметры функции, после на новой строке фигурные открываю, и через табуляцию внутреннее, а как правильно это делать, и что значат эти два слова?
>члены-даты в структуре никак друг от друга не отличаются.
ну задумка была в том, чтобы добавить дату подачи заявки и дедлайн и по ним сортировать, но так уёбично будет выглядеть если начну по этим трём интам сортировать, столько строк бесполезного кода, а я хз можно ли удобно работать со временем через какую либо либу. Поэтому оставил только ради красоты/
и ещё reinterpret_cast<char*> это не есть сериализация? Ну как я понял, это выражение переводит данные в тот код который я вижу в файле в который он должен быть записан, или нет?
Аноним 08/04/19 Пнд 21:22:40 1377354175
>>1377343
>reinterpret_cast<char*>
всё, я почитал что это приведение типа
Аноним 08/04/19 Пнд 21:26:29 1377355176
>>1377336
ну, работают так исполняемые программы в операционной системе.
Аноним 08/04/19 Пнд 21:28:57 1377357177
>>1377323
чувак, любой вопрос связанный с сериализацией, должен начинатся с первого пункта: с определения формата хранения, собственно
куда ты собираешься серилизовать то?
текстовых и бинарных форматов сериализации десятки, нет сотни, они заточены под разные случаи, либо сеть, либо файлы, либо, внезапно, бд, либо более-менее универсальны
просто, блядь, сначала определись, какой тебе нужен
ну а дальше тупо реализуй в коде и все
либо возьми готовую библиотеку

Аноним 08/04/19 Пнд 21:31:45 1377359178
>>1377357
просто в файл, чтобы потом обратно достать, ничего сложного, но я немного не понимаю каким образом это написать, какая логика должна быть, ну и выражения.
Аноним 08/04/19 Пнд 21:31:46 1377360179
>>1377355
Но у программ собранных на visual studio таких проблем нет.
Аноним 08/04/19 Пнд 21:33:31 1377361180
>>1377360
Студия тут не причем.
Аноним 08/04/19 Пнд 22:18:48 1377380181
>>1377360
Это потому что твоя IDE подставляет пути к библиотекам при запуске твой хуйни
Аноним 08/04/19 Пнд 22:23:03 1377384182
15.png (20Кб, 728x177)
728x177
Сап, двач. Какого хрена когда я пишу конструкцию
cout << setfill(' ') << showpos << setprecision(5) << setw(8) << table[j].res << '|';
я получаю пикрелейтед? Я просто хочу долбаную ровную табличку, почему компилятор не хочет рисовать double с 5 цифрами? gcc 2.95 windows
Аноним 08/04/19 Пнд 23:12:18 1377406183
>>1377384
потому что ты забыл std::fixed наверное
Аноним 08/04/19 Пнд 23:24:34 1377413184
>>1377406
О, спасибо анон. Я не забыл, а думал что оно стоит по умолчанию - во всяких гайдиках так написано. Изучаю c++ 2 недели, уже ненавижу. Сдать бы и забыть
Аноним 08/04/19 Пнд 23:24:38 1377414185
>>1377384
потому-что используй fmtlib
Аноним 08/04/19 Пнд 23:47:22 1377426186
image.png (7Кб, 709x140)
709x140
Плюсаны, по-залипал тут немного в гитхабы сеньоров и всяких архитекторов, заметил одну характерную особенность: абсолютно у всех первые 2-4 года нихуя нет публикаций и только после этого периода времени начинается движение, которое постепенно перерастает в пикрилейтед. Меня как ньюфага вкатывальщика данная ситуация напугала... Опытные аноны, успокойте меня, скажите пожалуйста что за годик можно вкатиться..
Аноним 09/04/19 Втр 00:11:23 1377439187
>>1377426
это вообще никак ни с чем не коррелирует. Я сеньор-помидор, и у меня 0 публикаций на гитхабе, потому-что программирую я на работе, а дома пишу только крошечные минипроектики, которые даже на гитхаб нет смысла выкидывать
Аноним 09/04/19 Втр 00:26:25 1377449188
>>1377439
А за год вкатиться можно? За еду хотя бы.
Аноним 09/04/19 Втр 01:19:18 1377471189
изображение.png (153Кб, 1920x1080)
1920x1080
>>1377343
я точно как то криво написал, потому что всё ещё не понимаю что пишу до конца, но пишет ошибку сегментирования.
Аноним 09/04/19 Втр 01:46:35 1377477190
>>1377471
Ты не понял. Data - это массив твоих структур, над которыми "висит" вектор. Не проходи по нему, его и пиши в файл.
file >> vector.data();
Аноним 09/04/19 Втр 01:47:26 1377478191
>>1377477
И я хуйню написал, сонный, видимо.
Жди утра, напишу, что не так.
Аноним 09/04/19 Втр 02:24:50 1377484192
изображение.png (40Кб, 1507x241)
1507x241
Не хочу инициализировать в заголовках переменные, но компилятор выдает пикрил. На нём же реализация.
Как фиксить?
Аноним 09/04/19 Втр 02:35:29 1377487193
>>1377484
Ладно, теперь иначе. Как это делается обычно и правильно, аля бест практиcиз?
Аноним 09/04/19 Втр 04:55:02 1377514194
>>1377384
> gcc 2.95
Где ты его откопал бля
Аноним 09/04/19 Втр 04:58:25 1377515195
>>1377487
Ну тащемто прямо в классе и инициализируют. Непонятно, чего ты хочешь добиться?
Аноним 09/04/19 Втр 06:34:48 1377525196
>>1377484
Бест практис - в заголовке, раньше инициализировали в конструкторе. Ты же пытаешься задать значение статическому элементу класса.
В конструкторе как ты видимо хочешь типа этого:
ClassName() : Element(ElementValue) { / c-tor body / }
Аноним 09/04/19 Втр 08:24:44 1377543197
>>1377525
>Бест практис - в заголовке, раньше инициализировали в конструкторе.
Вот это и хотел услышать, благодарю.
Но всё путаюсь со статическими. Сначала думал, что это киллерфича здешнего ООП, но:
Конст статик можно объявлять в заголовке, просто статик - нет.
Аноним 09/04/19 Втр 08:54:52 1377550198
>>1377471
>>1377478
Однако, нет, все норм.
Ты открыл файл на запись - вот и пиши просто туда данные. Запомнил в массив структур vector::data, его же туда и записал через reinterpret_cast<char*>.
А так ты объявил массив, но все равно используешь поля вектора.
Почитай, как именно лежат данные в массиве, будет легче понять, почему так можно записать в файл содержимое вектора.

И да, не забудь написать в самое начало файла в первой строке количество элементов массива - чтобы потом нормально считать.
Хотя можно и просто считывать до конца файла.
Аноним 09/04/19 Втр 11:18:33 1377600199
>>1377543
После c++17 можно ещё больше:
A static data member may be declared inline. An inline static data member can be defined in the class definition and may specify an initializer. It does not need an out-of-class definition.
Аноним 09/04/19 Втр 11:20:59 1377601200
Анон. Хочу замутить две виртуальные функции в абстрактном классе matrix
virtual const matrix& operator(const int&b) const =0;
virtual const matrix& operator(умножение)(const matrix&b) const =0;
то есть умножение на число и другую матрицу, затем в двух классах я их переопределяю
в наследнике класса matrix - matrixcount переопределяю умножение на число: const matrixcount& operator(умножение)(const int&b) const{умножаю; return tmp;} где matrixcount tmp(m) и matrixcount(int k): matrix(k) {}, вместо умножения очевидно

1) Почему я еблан?
2) Почему это не работает?
3) Что делать со второй виртуальной функцией? ведь без ее переопределения matrixcount тоже будет абстрактным.
Пытаюсь учить язык по книге столярова но там это не разбирается особо
Аноним 09/04/19 Втр 11:21:37 1377602201
Аноним 09/04/19 Втр 11:25:53 1377603202
>>1377601
Ты возвращаешь ссылку на созданую на стеке переменную. Возвращай по значению, RVO все оптимизирует.
Аноним 09/04/19 Втр 11:26:22 1377604203
Аноним 09/04/19 Втр 11:28:53 1377606204
>>1377550
аа, так нужно создать char массив, потом через vector::data по одному элементу туда запихать вектор, и через file.write(reinterpret_cast<char*>(тот же char массив), размер) запихать в файл?
Аноним 09/04/19 Втр 11:36:07 1377607205
>>1377606
Можно и без доп. массива
Аноним 09/04/19 Втр 11:36:36 1377608206
7iNbxs2arrk.jpg (77Кб, 1080x915)
1080x915
В с++11 вывод 1е7 чисел через printf работает за 2000мс, вывод же через putc за 500мс. В последующих версиях с++ оба работают за 2000мс. Чому так и как пофиксить putc?
Аноним 09/04/19 Втр 11:42:44 1377612207
>>1377607
https://pastebin.com/TUk4nX2G
если есть время, чекни пятый кейс, пожалуйста, я совсем что то хуйню нагородил, всё же не могу логически понять как это реализовать.
Аноним 09/04/19 Втр 11:50:57 1377616208
Аноним 09/04/19 Втр 11:54:54 1377618209
>>1377514
Спасибо за вопрос. Как оказалось free pascal содержит gcc 2.95, и я хз как винда его нашла - но в path нет папок паскаля нет. Удалил, версия стала 7.4
Аноним 09/04/19 Втр 11:55:53 1377619210
Аноним 09/04/19 Втр 12:02:38 1377623211
>>1377619
Спасибо большое за потраченное время, оказалось всё не сложно, Дессериализацию сделаю.
Аноним 09/04/19 Втр 12:06:11 1377629212
>>1377616
const matrixcount& operator (звезда)(const int b) const
{
matrixcount tmp(m);
...
return tmp;
}
Ты пытаешься вернуть ссылку на временный объект, который разрушается при выходе из оператора.
Аноним 09/04/19 Втр 12:10:15 1377636213
>>1377629
Дополню, вообще matrixcount& - ссылка на текущий объект, чтобы можно было его использовать в цепочке вызовов.
Если ты хочешь при умножении числа на текущую матрицу, не изменять текущую матрицу - надо перепроектировать.
Аноним 09/04/19 Втр 12:11:43 1377639214
>>1377629
А можно временные объекты move'вать из функции?
Аноним 09/04/19 Втр 12:14:59 1377643215
Аноним 09/04/19 Втр 12:28:48 1377655216
>>1377619
препод байтоёбствовать изволит. Сказал auto не юзать, так как это замедляет работу, я поставил int, мб size так тоже сможет значение вернуть, хз что из этого получится, ща подумаю как достав из файла перевести в норм типы данных.
Аноним 09/04/19 Втр 12:30:22 1377656217
>>1377655
> Сказал auto не юзать, так как это замедляет работу
Твой препод - полный долбоеб.
Аноним 09/04/19 Втр 12:39:08 1377664218
>>1377655
>Сказал auto не юзать, так как это замедляет работу
Лол.
Аноним 09/04/19 Втр 12:50:16 1377670219
>>1377655
> Сказал auto не юзать, так как это замедляет работу
АХАХАХАХАХ ПИЗДА
ВСЕМ ОПЕНСПЕЙСОМ ЛЕЖИМ В КОНВУЛЬСИЯХ
Аноним 09/04/19 Втр 13:01:42 1377678220
>>1377639
У тебя цель какая? Продемонстрировать перезгрузку операторов?
Аноним 09/04/19 Втр 13:33:57 1377703221
>>1377656
>>1377670
Поясните, чому препод не прав. Интересно же.
мимо другой анон
Аноним 09/04/19 Втр 13:44:11 1377710222
>>1377703
>Поясните, чому препод не прав
Потому что код с auto и без скомпилируются в одинаковый файл, и разницы в абсолютном большинстве случаев не будет.
Аноним 09/04/19 Втр 13:45:02 1377711223
>>1377703
Потому что auto это просто указание компилятору вывести тип переменной самому из контекста. На производительность программы это никак не влияет, только, возможно, на время компиляции, но это не точно.
Аноним 09/04/19 Втр 13:46:35 1377712224
>>1377656
ну прост казалось бы добавили в плюсы чтобы облегчить работы, я и так вахуе с сериализации вектора, все с массивом работают, там изи, а тут мне как то надо из файла по частям достать данные, ну это понятно что sizeof указать, а как из дессериализовать, чтобы они обрели нормальную форму, хз. Но тут блять ещё "векторы не юзай, они медленные, вот пойдёшь работать куда нибудь, это тебе пригодится", приношу auto "ну это конечно хорошо, но медленно, нужно всегда оптимизировать". Хз, справлюсь наверное, auto всё таки оставлю, ебал, ща буду дессериализацию думать как реализовать. Ну и сделал вывод что я ничему по факту за год не научился, как умел логически что то придумывать, так и умею, в остальном всё упирается в синтаксис, вот хуй бы я додумался до reinterpret_cast, я впервые это вижу, а как правильнее изучать, чтобы всё это знать, чёт хз, по книгам учил, но такого не было, там основы впринципе только.
Аноним 09/04/19 Втр 13:47:26 1377714225
>>1377703
auto выводится на этапе компиляции.
Сгенерированный код будет идентичен, если у тебя всюду auto, или ты сам везде руками пишешь тип.

Чисто теоретически, компиляция будет длиннее на какие-то наносекунды, но, на этом вся "МЕДЛЕННОСТЬ" и кончается.
Аноним 09/04/19 Втр 13:51:18 1377716226
>>1377712
>но медленно, нужно всегда оптимизировать
Теперь, как истинный джентельмен, он обязан на тебе жениться изобразить все это на уровне шаблонного метапрограммирования. Чтобы расходов во время исполнения вообще не было. Скиньтесь ему на книгу со стандартом новым. Ну и Джосатисса "Стандартная библиотека c++"
Аноним 09/04/19 Втр 13:54:38 1377717227
>>1377714
И что делать с такими преподами?
Аноним 09/04/19 Втр 13:57:08 1377719228
>>1377717
не знаю. Ругаться и заяснять ему что-то смысла нет, он необучаемый.
Аноним 09/04/19 Втр 13:58:21 1377721229
>>1377719
Не стоит. Если он упертый или упоротый, на экзамене припомнит. Да и ему разобраться с типами без auto полезно. мимопроходил
Аноним 09/04/19 Втр 14:03:46 1377724230
Поясните как делать thread-safe class
Аноним 09/04/19 Втр 14:05:25 1377727231
>>1377717
Слушать преподавателя и учиться, малолетний дурачок.
Ты придираешься незначительным к деталям в то время как преподаватель всё делает правильно в контексте твоего обучения. Сначала ты должен научиться программировать правильно, понимая что делаешь, а для этого нужно писать как следует своими руками. Вот когда научишься и будешь уже работать, тогда можешь экономить себе время как пожелаешь. Однако, если вместо обучения будешь лепить везде авты, предоставляя компилятору думать за тебя, так и останешься дебилом.
Аноним 09/04/19 Втр 14:36:33 1377744232
>>1377724
лочь мютекс в каждом методе?
Аноним 09/04/19 Втр 14:54:12 1377750233
>>1377744
И все? Ну бля. Я просто читал еще прг recursive_mutex и unique_lock
Аноним 09/04/19 Втр 15:07:21 1377755234
>>1377703
Потому что auto гарантирует, что переменная будет инициализирована. Не использовать его сейчас - говнокод.
Аноним 09/04/19 Втр 15:34:41 1377768235
>>1377608
Какой компилятор хоть?
Аноним 09/04/19 Втр 15:36:08 1377769236
>>1377608
А еще debug и release версии сильно могут отличаться по быстродействию.
Аноним 09/04/19 Втр 15:38:01 1377770237
>>1377755
на самом деле спорное заявление. Мне кажется, что с auto перебарщивать точно не надо, восприятие кода падает
Аноним 09/04/19 Втр 16:07:22 1377790238
>>1377714
>компиляция будет длиннее на какие-то наносекунды
Один хуй компилятор смотрит тип rvalue. Не qword же везде копировать вслепую)
Аноним 09/04/19 Втр 18:58:31 1377882239
>>1377727
Зачем он обманывает ради этого? Мог бы и сказать откровенно.
Аноним 09/04/19 Втр 19:01:47 1377885240
>>1377449
я вкатился за полгода, другие не вкатываются за 3 года. Все зависит только от тебя
Аноним 09/04/19 Втр 19:09:38 1377888241
>>1377882
Может он честно так и думает, какая разница. Понимаешь, учить программированию и программировать это разные вещи. Если это старый преподаватель, у него в голове въелось как преподавать, а про программирование давно забыл.
А может и специально соврал чтобы побыстрее закончить бесплодные прения. Вспомни фильмы про всяких шаолиней, где учитель не цацкается с учениками, а приказывает что делать и заткнуться, посылая нахуй всяких умников с их "пачиму зачем".
Аноним 09/04/19 Втр 19:11:54 1377891242
>>1377888
А можно по книгам 80-х вообще про Norton Commander читать. Как бы не очень препод, который не следит за новостями в своей дисциплине.
мимопроходил
Аноним 09/04/19 Втр 19:23:31 1377897243
Ребят, я тут пытаюсь создать библиотеку, но при компиляции проекта я получаю ошибку
"1>LINK : fatal error LNK1561: точка входа должна быть определена"
вероятно, компилятор пытается найти int main, но он этого не должен делать, ведь я тип конфигурации выбрал "статическая библиотека .lib". Как избавиться от этой ошибки? Использую VS 2017 (v141).
Аноним 09/04/19 Втр 20:05:02 1377913244
>>1377888
Тут хорошо бы преподам задуматься о престиже своего универа.
Пойдут выпусники работать куда-нибудь и сморозят какую-нибудь херню. Его спросят: "Почему ты так решил?".
Он ответит, что в универе так научили. И потом про выпускников будут думать, что там воспроизводят идиотов.
Аноним 09/04/19 Втр 20:36:11 1377923245
>>1377897
Скомпиль на виртуалке ленупса через терминал
Аноним 09/04/19 Втр 20:38:06 1377924246
>>1377888
ему 30+, он обожает открытый софт, узнал что я кое как умею ставить линух, и заставил остальным 23 челам бубунту поставить, БУБУНТУ, когда есть kde neon который лагает в разы меньше, ну и ща челики вахуе что существует линух сидят пытаются через мейк файлы и g++ -c main.cpp собирать и линковать проекты, даже запрещает мне .hpp юзать потому что это уклон на майкрософтовскую хуйню якобы, любит одноплатники, поэтому говорит заказывать с алика orange PI и учиться с ним работать, ну и изза того что я хоть что то могу, сказал что буду ядро линукса собирать в мае, а я сижу дессериализацию сделать не могу, так как файлы и вот это всё это мой криптонит, дальше пойдут классы, за минут 15 разъебу такое. А вот дессериализацию ща буду сидеть сосать, так как полез в векторы, а векторы не подимаю как через Push_ back это сделать, и уже 3 недели вторую лабу несу, пиздец хуёво на душе...
Аноним 09/04/19 Втр 20:39:43 1377927247
Аноним 09/04/19 Втр 20:45:43 1377930248
>>1377924
> он обожает открытый софт
> запрещает мне .hpp юзать потому что это уклон на майкрософтовскую хуйню
Мне кажется он просто психически не здоров.
Аноним 09/04/19 Втр 21:55:08 1377968249
>>1377755
>Не использовать его сейчас - говнокод.
Auto может ненужных кастов понаставить. Например, тебе нужны флоаты, а ты забыл к литералу f приписать, и у тебя будет ненужное преобразование из double, которое действительно может понизить производительность. Или overflow на целочисленной арифметике. Плюс без auto код более читаемый. Но тот препод ебанат, конечно.
Аноним 09/04/19 Втр 22:11:00 1377974250
Аноним 09/04/19 Втр 22:54:01 1377993251
>>1377885
Куда вкатился то конкретно?
Аноним 09/04/19 Втр 23:08:41 1377999252
>>1377924
запили ему сравнительный тест времени компиляции/выполнения софта с использованием auto и без, только не с предлогом вроде "смотри, лошара", а "мне было интересно насколько а оказалось нинасколько, ты реально лох"
Аноним 10/04/19 Срд 00:04:12 1378024253
>>1377999
если смогу в дессириализацию, то обязательно)
Аноним 10/04/19 Срд 00:24:21 1378035254
>>1378024
запили ему годболт
Аноним 10/04/19 Срд 01:16:42 1378065255
>>1377897
ты для какой-то одной конфигурации поменял, а компилишь другой
Аноним 10/04/19 Срд 01:51:12 1378078256
>>1377606
Блядь.
Что такое char*? Это массив символов - добавь \0 в конец и получишь строку.
Значит, ты весь этот массив можешь записать в файл одним махом, не поэлементно.
Аноним 10/04/19 Срд 03:01:03 1378104257
>>1378078
Ага, а в памяти будет ещё один \0 и твоя "строка" вылетает у тебя из носа
Аноним 10/04/19 Срд 03:26:46 1378113258
Как сделать такую функцию для библиотеки, которая возвращает адрес массива? Я сделал через int функция, но при попытке создать ехешник компилятор не даёт создать его, жалуется на в объявлении функций.
Аноним 10/04/19 Срд 03:27:28 1378114259
Как сделать такую функцию для библиотеки, которая возвращает адрес массива? Я сделал через int *функция, но при попытке создать ехешник компилятор не даёт создать его, жалуется на звёздочку в объявлении функций.
Аноним 10/04/19 Срд 03:45:51 1378120260
>>1378114
Что-то не то написал значит. int* func(); должно компилироваться.
Аноним 10/04/19 Срд 06:43:29 1378147261
>>1377974
>Разницы нет
В VC++ разница огромная - в дебаг куча оберток добавляется. За другие компиляторы не скажу.
Аноним 10/04/19 Срд 06:59:50 1378148262
>>1377974
+1, разница огромная, но наверняка видима только в риалтайм играх со счетчиком фпс, в простом же приложении скорее всего не заметишь.
Аноним 10/04/19 Срд 07:18:02 1378150263
>>1378078
С сериализацией разобрался, теперь обратно надо, это труднее.
Аноним 10/04/19 Срд 07:22:07 1378151264
>>1378114
Ошибку кажи.
Вероятно ты возвращаешь из функции не тот тип, который обещал компилятору.
Аноним 10/04/19 Срд 07:37:53 1378155265
>>1377968
>ты забыл к литералу f приписать
Я в кют креаторе в основном работаю, он все это в рилтайме подчеркивает, все ворнинги и ерроры.
Аноним 10/04/19 Срд 09:17:21 1378178266
Аноны, есть базовый класс с protected string, мне в дочернем классе нужно использовать значение этой строки, как я могу это сделать?
Char_Line(Line *obj) : Line() { base = obj->base; }; Вот таким способом я не могу обратиться из-за модификатора доступа.
Аноним 10/04/19 Срд 09:40:08 1378184267
>>1378178
Что за переменная basе в конструкторе?
Аноним 10/04/19 Срд 09:54:20 1378190268
Тупой вопрос на сотку: что по Qt и qml читать/смотреть?
Аноним 10/04/19 Срд 09:59:44 1378192269
>>1378104
Ты тупой - раз.
>Добавь \0 и получишь строку
Поскреби татарина - найдешь русского. Чуешь характер предложения? Я не советую ему добавлять в data его вектора чаров символ нуля - два.
char★, полученный из vector.data реинтерпрет кастом не будет иметь символ нуля в конце строки. Как и в принципе char★ в общем случае - три.
Два подряд идущих нуля ничего не сломают - четыре.
Аноним 10/04/19 Срд 10:14:08 1378193270
Аноним 10/04/19 Срд 10:26:34 1378195271
Где мне найти человека, который хорошо разбирается в MPI?
Нужна помощь с курсовой работой :C
Сколько бы не искал, не могу никак найти...
Аноним 10/04/19 Срд 10:46:31 1378203272
>>1378178
Char_Line(Line obj) : Line(obj) { };
Аноним 10/04/19 Срд 10:47:01 1378204273
Аноним 10/04/19 Срд 12:05:50 1378216274
>>1378184
Это моя строка string base
Аноним 10/04/19 Срд 12:28:20 1378227275
>>1378190
у qt, внезапно, хорошая документация
и, внезапно, даже на русский переведена..
Аноним 10/04/19 Срд 13:46:23 1378249276
Я тут слышал вот, что массив структур из файла якобы можно заполнить одной единственной командой. А что за команда то? vvod >> strukt; не помогает, >> подсвечивается красным.
Аноним 10/04/19 Срд 13:51:04 1378253277
>>1378249
читаешь бинарно в скастенную к char* структуру
Аноним 10/04/19 Срд 13:51:51 1378254278
>>1378253
Можно на C++ пример фрагмента кода?
Аноним 10/04/19 Срд 14:08:14 1378265279
>>1378249
Все зависит от того, как записана информация в файле.
Если в бинарном виде, то все очень просто: читаешь из файла одной командой https://en.cppreference.com/w/cpp/io/basic_istream/read
Если в виде текста, то тут уже сложнее: придется придумывать алгоритм парсинга, если в каком-то неизвестном виде, либо взять (или свелосипедить) готовую либу, если формат известен (например, xml, json и т.д.).
Аноним 10/04/19 Срд 14:37:34 1378285280
>>1378155
>он все это в рилтайме подчеркивает, все ворнинги и ерроры.
А откуда ему знать-то, что ты там f-то хотел? Это ж не ошибка.
Аноним 10/04/19 Срд 14:50:23 1378290281
example.png (5Кб, 1081x84)
1081x84
>>1378285
Ну при дальнейшем использовании поругается на понижение разрядности или еще что-нибудь.
Аноним 10/04/19 Срд 15:52:40 1378332282
>>1377999
как я и предвидел, он сказал что в большом проекте это сыграет роль, и что Auto при выполнении программы ставит самый массивный тип, предположим лонг, и это тоже хуёво. Дальше последовал вопрос от меня а нахуя собсна его добавили если он настолько плох, на что он ответил "для того чтобы было похоже на жабу, тоесть лохам вкатывальщикам облегчить жизнь, нормальный специалисть, на обучение которого уйдёт больше времени гораздо, таким заниматься не будет. Это как в епаме сделают джуны массивную прогу, я гворю что она лагает, они мне отвечают "так компьютер обновите", ну обезьяны же"
Аноним 10/04/19 Срд 15:53:58 1378333283
>>1378332
>лохам вкатывальщикам облегчить жизнь
Ебать он мастак портянки итераторов контейнеров STL расписывать.
Аноним 10/04/19 Срд 15:56:37 1378338284
>>1378333
ну хз, мб в чём то он прав.
Аноним 10/04/19 Срд 15:58:03 1378339285
>>1378338
Я не против заставлять студентов явно писать типы. Но его доводы - это нечто.
Аноним 10/04/19 Срд 16:38:24 1378364286
>>1378332
>лонг
А не Лонг Лонг, т.е. он напиздел.
Аноним 10/04/19 Срд 16:44:19 1378367287
Аноним 10/04/19 Срд 16:56:07 1378373288
>>1378332
Он совсем дебил, ахаха
Аноним 10/04/19 Срд 17:37:34 1378408289
>>1375142 (OP)
в вузе активно пользовался http://www.pythontutor.com/visualize.html#mode=edit
он крч код визуализирует, очень удобно было для понимания
но там крч нет консоли

есть ли мб аналоги какие-то более мощные для c++
Аноним 10/04/19 Срд 17:58:30 1378430290
> Создайте шаблон класса Stack и заполните его четными числами. Создайте шаблон класса Stack1 и заполните его нечетными числами. С помощью итератора объедините эти контейнеры в вектор.
Мужики, объясните, пожалуйста как этот итератор реализовать
Аноним 10/04/19 Срд 18:23:53 1378470291
>>1378430
Звучит довольно бредово.
Аноним 10/04/19 Срд 18:49:46 1378491292
>>1378430
у стэка нет итераторов
Аноним 10/04/19 Срд 19:17:52 1378521293
>>1378491
>итератора
А у вектора он есть.
Аноним 10/04/19 Срд 19:43:01 1378543294
>>1378521
static_assert(std::is_same_v<vector<int>, stack<int>>)
Аноним 10/04/19 Срд 20:45:48 1378578295
>>1378470
>>1378491
Я тоже вообще не выкупаю, что от меня хотят, но надо что-то придумать и сдать.
Аноним 10/04/19 Срд 20:53:56 1378581296
Аноним 10/04/19 Срд 20:57:03 1378584297
>>1378332
>лохам вкатывальщикам облегчить жизнь, нормальный специалисть, на обучение которого уйдёт больше времени гораздо, таким заниматься не будет
Лол, он на крестах кодил вообще с шаблонами? Метапрограммирование какое-нибудь минимальное хотя бы. Там без auto мозоли на пальцах за день отрастут.
Аноним 10/04/19 Срд 21:46:00 1378675298
Так, ребзи, есть инфа, как передавать в метод другие методы/функции/функторы с минимальными затратами?
Другими словами, какой должен быть второй аргумент функции ниже? Шаблонный параметр? std::function? Как его передавать? Что, если понадобится передать этот метод/функцию/функтор ещё куда-то?
template<class Container>
void for_each_wrapper(Container const & cont, неизвестно func)
{
for (auto const & el : cont)
....func(el);
}
std::vector<int> vec{1,2,3};
for_each_wrapper(vec, [](int val){ // do smth});
for_each_wrapper(vec, &A::doSmth);
for_each_wrapper(vec, std::bind(&A::doSmth, this, _1));
std::function<void(int)> fn = ...;
for_each_wrapper(vec, fn);
etc.

доп. вопрос - передавать контейнер по T const & или &&?
Аноним 10/04/19 Срд 21:55:24 1378713299
>>1378190
у меня пидорнета нет на том компе.
Есть возможность скачать всю доку?
Я сегодня пару книг от пакта поглядел
Аноним 10/04/19 Срд 22:05:43 1378729300
>>1378675
А чем тебя не устраивает std::for_each, почему ты пишешь сам тот же функционал?
Аноним 10/04/19 Срд 22:36:51 1378761301
>>1378713
Есть отдельное приложение Qt Assist
>>1378729
Я привёл очень упрощённый пример - то, что в голову первое пришло. То есть цикла в моем методе может вообще не быть. Или будет, но сам контейнер, по которому идёт обход, формируется нетривиально, то есть придётся иметь в сотне мест простыню кода по заполнению контейнера - вот этого хотелось бы избежать.
Аноним 10/04/19 Срд 23:03:00 1378789302
>>1378675
>передавать контейнер по T const & или &&?
ты в свои алгоритмы передаешь итераторы, которые и указывают диапазон элементов над которыми будет применен алгоритм, плюс иногда функцию выборки, которая будет отбрасывать ненужные для обработки элементы
в общем то же подход что и стандартные алгоритмы stl делай

по основному вопросу - в стандарт щас введено обобщенное понятие "callable object", вот его и передаешь параметром алгоритма
альтернативный подход - параметризировать твой алгорит через параметр шалона
тут уже зависит от условий выбор, как минимум нужна ли тебе динамика, либо статики будет достаточно

Аноним 10/04/19 Срд 23:23:24 1378811303
>>1378789
Глянул сейчас на cppreference как std::for_each мог быть реализован и сразу вопрос: почему callable принимается по значению?
Аноним 10/04/19 Срд 23:49:24 1378836304
>>1378811
потому что это тот же указатель, епт
если тебе нужно его только передать внутрь, а не вернуть, то передаешь его тупо по значению
а вот если тебе надо вернуть callable oblect из функции, то тогда да, нужен указатель будет

тут та же самая хитрость что и с применением указателей на указатели в параметрах функции
Аноним 10/04/19 Срд 23:51:45 1378837305
те как бы можно сделать ссылку на указатель, но нахуй надо
никакой пользы то нет с этого
затрат никаких нет с того что указатель будет по значению передан, он небольшой сам по себе
Аноним 11/04/19 Чтв 00:31:25 1378878306
1
Аноним 11/04/19 Чтв 00:38:50 1378881307
ща я, бля, дочитаю книжку по stl и ваще буду самым умным в этом itt треде
Аноним 11/04/19 Чтв 00:39:54 1378883308
>>1378881
нет, не будет

мимо-спикер-конференций, включая маленькую Европейскую
Аноним 11/04/19 Чтв 01:31:23 1378903309
>>1378837
>он небольшой сам по себе
Недостаточно радикально сказано. Техническа ссылка и есть указатель.
Аноним 11/04/19 Чтв 01:44:42 1378909310
Аноним 11/04/19 Чтв 02:47:00 1378922311
>>1378883
corehard? а белорусы молодцы, на уровне держат, видно что коммьнити небольшое, но сплоченое
смотрю их видосики на ютубе, да
Аноним 11/04/19 Чтв 02:52:46 1378925312
>>1378903
ну как бы семантическое значение то все равно немного другое
ссылка должна быть проинициализирована
есть и менее очевидные нюансы, про которые, внезапно, даже сеньоры не всегда помнят, типа низведения типов
Аноним 11/04/19 Чтв 03:13:05 1378932313
кстати, скоро будет cppcon russia
проглядел заявленные доклады и оказалось что для меня будет более-менее интересным лишь доклад по практическим применениям умных указателей
и все вроде как
такие дела
Аноним 11/04/19 Чтв 03:37:01 1378940314
>>1378836
Погоди, std::function это вполне себе объект, его-то зачем передавать по значению?
Аноним 11/04/19 Чтв 08:49:41 1378974315
>>1378581
Вообще да, но я таким не занимаюсь. Делаю на шаблонах, где UnderlyingType явно задается и все выводится.
Аноним 11/04/19 Чтв 09:56:22 1378982316
>>1378584
для него же ето заебись
Аноним 11/04/19 Чтв 10:27:14 1378985317
>>1378925
я о том, что в стек (или регистр) один хрен пушится 64-битовый адрес, так что бояться оверхеда при передаче указателя, а не ссылки на указатель (звучит как ехал void на void по void через void) - это слон не из мухи, а из воздуха
Аноним 11/04/19 Чтв 11:25:26 1379003318
>>1378922
нет, в полноценной старой гейропе, на английском. Тот еще позор был, но ачивку получил, что называется
Аноним 11/04/19 Чтв 11:29:45 1379005319
>>1378985
Передал ссылку на указатель - можешь менять переданный указатель.
Алсо, если есть список указателей, то наверное лучше по нему ходить как const auto &, так при рефакторинге не надо голову морочить (например, если решишь вместо голого указателя хранить smart pointer)
Аноним 11/04/19 Чтв 11:30:37 1379006320
изображение.png (24Кб, 834x566)
834x566
изображение.png (24Кб, 834x566)
834x566
>>1375142 (OP)


Мужики, выручайте! Как правильно, надоело путь прописывать тут полный. Смотрел в интернете решение, так там для Visual Studio, у меня 2010, такое решение:

/I "../../SomeProject/SomeProject"

На первой картинке пример подобный, но нихрена не работает, на второй по понятным причинам работает.
Аноним 11/04/19 Чтв 11:32:08 1379008321
>>1379006
добавь где-то в C++ - Directories - Includes, и используй макросы типа $(SolutionDir)pidor\zalupa
Аноним 11/04/19 Чтв 11:37:49 1379010322
Спецы, у меня тут вопрос встал. Как malloc/free уживаются рядом с new/delete? Например, если прога слинкована из кусков, написанных и на C, и на C++. Ведь, по идее, это разные аллокаторы, которые из общего могут только узнать общий размер кучи, которую ось выделила (sbrk(0) например), а что до списка свободных блоков внутри этого пространства им друг на друга должно быть похуй, нет? Гугл привел к какой-то очевидной инфе про автоматический вызов конструкторов/деструкторов...
Аноним 11/04/19 Чтв 11:41:58 1379011323
>>1379010
> Как malloc/free уживаются рядом с new/delete?
Выделять malloc'ом и удалять по delete - UB. Наоборот тоже UB.
Если либа, с которой ты линкуешься, наружу передаёт указатели, выделенные malloc'ом, то удалять тебе их придется по free. Внутри там может быть что угодно.
Аноним 11/04/19 Чтв 11:44:12 1379012324
>>1379010
помни, что у malloc\free могут быть разные имплементации в зависимости от версии либ\редиста. По-этому, если ты экспозишь сырые указатели из либы - будь добр, заэкспози свое собственное free()
Аноним 11/04/19 Чтв 11:44:31 1379013325
>>1378338
Да ладно. В VC++ 2013 или 2008 склероз уже, могу и припездеть (или вообще в билдере) дебаг версия new была через malloc реализована. Отладчиком залезал.
Аноним 11/04/19 Чтв 11:45:36 1379014326
>>1379013
Ну и обычно new добавляет инфу зависимую от реализации. И удалять через free - опасно.
Аноним 11/04/19 Чтв 11:46:05 1379015327
>>1379013
>>1379014
Вообщем не обращайте внимание на мой шизофазический высер с недосыпа.
Аноним 11/04/19 Чтв 11:47:04 1379016328
>>1379008

Благодарю анон, всё заработало. Теперь у меня будет КРОСС-ПЛАТФОРМЕННАЯ ИГРА, УИИИИ!
Аноним 11/04/19 Чтв 11:50:18 1379018329
>>1378940
>вполне себе объект
объект-обертка, он почти не содержит данных, а значит почти ничего не копируется
Аноним 11/04/19 Чтв 11:54:08 1379019330
Почему при передаче параметров компилятору используют -DSomeName ... Откуда это пошло, почему это стали использовать, в чем профиты? Я думал что это чисто такая особенность компиляторов, но на днях заметил что CLI curl тоже можно передавать параметры таким образом
--output somehuta.txt то же самое что и -osomehuita.txt т.е. это какая-то распространенная идиома.
Аноним 11/04/19 Чтв 12:04:11 1379020331
>>1379019
это вопрос не про С++, а про какую-то красноглазую консольную ебануху. Я не думаю, что реальный ответ существует.
Аноним 11/04/19 Чтв 12:34:58 1379027332
>>1379020
Раньше в с++ треде сидели самые адекваты доски, поэтому не совсем релейтед вопрос задаю вам.
Ну мне просто любопытно было ли это сделано из-за каких-то древних ограничений, потому что такой синтаксис дает какой-то неочевидный профит, или это какой-то задрот в порыве красноглазого безумия придумал, а другие подхватили.

Ну и называть clang и gcc красноглазой консольной ебанухой это ты конечно подтолстил
Аноним 11/04/19 Чтв 12:47:57 1379029333
>>1379027
я имею ввиду не clang и gcc - а сам подход. Тем не менее - не думаю, что его реально проследить, потом окажется, что в каком-нибудь MULTICS уже так делали
Аноним 11/04/19 Чтв 13:03:22 1379036334
>>1379019
А вот хуй его знает, привычка наврное, я тоже пишу --параметерНейм в скриптах.
Аноним 11/04/19 Чтв 13:42:43 1379058335
Можете помочь?
Начинаю изучать типы данных, http://cppstudio.com/post/271/

>Возникает вопрос: «Для чего остальные 253 значения?».
Исходя из этой ситуации, договорились использовать числа от 2 до 255 как эквивалент числу 1, то есть истина. Вот именно по этому в переменной boolean содержится число 25 а не 1.

Вот этого я вообще не вкуриваю. Я понимаю что использовать мы будем только true 1 и false 0, но если на примере того же сайта - бул 25. И что из этого следует? Почему не 26? Ну нахуя все-таки нужны остальные 253 значения?
Аноним 11/04/19 Чтв 13:45:18 1379060336
>>1379058
Насколько мне известно, всё, что выше нуля, то определяется как истина.

Касаемо того ЗАЧЕМ эти значения, не знаю.
Аноним 11/04/19 Чтв 14:09:35 1379080337
>>1379060
Так именно интересует "зачем".
Аноним 11/04/19 Чтв 14:13:30 1379082338
>>1379080
Чтобы не ебаться с битами, что довольно дорогостоящая операция.
Аноним 11/04/19 Чтв 14:17:15 1379085339
>>1379058
В bool нет никаких чисел, только true и false. А что там под капотом, тебя ебать не должно, сделали как удобнее разработчикам компилятора. Ты разработчик? Нет, вот и нахуй следуй учить язык, а не косить от учебы дебильными вопросами.
Аноним 11/04/19 Чтв 14:19:29 1379087340
>>1379085
Ахахахаха, вот он, суровый рузькеРусский программер.
Аноним 11/04/19 Чтв 14:25:40 1379092341
Аноним 11/04/19 Чтв 14:28:38 1379096342
>>1379058
Обычно в ассемблере проще сделать проверки "равно нулю" или "не равно нулю". Так и решили - "равно нулю" значит false, "не равно нулю" значит true.
Аноним 11/04/19 Чтв 14:43:41 1379111343
image.png (3Кб, 360x190)
360x190
>>1379058
Хватит всякое говно читать.
bool может занимать 2, 3, 5 байт... — это ничему не противоречит.
Аноним 11/04/19 Чтв 15:03:54 1379125344
>>1379010
на самом деле, лишь поверхностное обсуждение этого вопроса займет целую статью..
так чтож ничего объяснять по теме здесь я не буду
давай сам как-нибудь, наступай на грабли и все такое
Аноним 11/04/19 Чтв 15:06:42 1379129345
>>1379011
>Если либа, с которой ты линкуешься, наружу передаёт указатели, выделенные malloc'ом, то удалять тебе их придется по free. Внутри там может быть что угодно.
советую провести мысленный (а лучше практический) эксперимент: а что если либа использует другой, отличный от того что в исполняемом модуле, сишный рантайм, а? например в либе статически его линканули, а в проге - динамически, или в либе - релиз версия, а в проге - дебаг версия; или они тупо версиями отличаются? а?
Аноним 11/04/19 Чтв 15:14:28 1379137346
Am4c5am8C8.jpg (99Кб, 720x960)
720x960
-Cab7UrK02A.jpg (213Кб, 720x960)
720x960
FaA2oVLlm0U.jpg (130Кб, 720x960)
720x960
lOcjrhccs6g.jpg (225Кб, 720x960)
720x960
11 вариант
что сможете
тем поможете
Аноним 11/04/19 Чтв 15:14:51 1379139347
Аноним 11/04/19 Чтв 15:15:22 1379141348
>>1379012
угу, есть такой подход
а есть и другой подход - правило где выделил, там и удалил
обычно вызывающий код предоставляет либе выделенную память, а уже либа заполняет его данными и отдает, а до этого вызывающий код запрашивает либу сколько надо отдать памяти
опять же, некоторые библиотеки комбинируют оба подхода - в первом случае ф-я будет вызвана 2 раза - на запрос размера требуемой памяти и второй раз на реальную отработку, либо будет вызвана один раз, но будет выделена внутренняя память в либе, которую уже надо будет вызывающему коду почистить при помощи функций очистки, что предоставляет либа
Аноним 11/04/19 Чтв 15:18:34 1379142349
>>1379005
>Передал ссылку на указатель - можешь менять переданный указатель.
это не удобно так как ссылка должна быть инициализировна всегда, а ведь это делают для того чтобы только вернуть указатель из функции, обычно делают указатель на указатель поэтому
Аноним 11/04/19 Чтв 15:25:03 1379151350
>>1379137
Тут по некоторым вопросам можно целый манускрипт написать.

Например А5, А6
Аноним 11/04/19 Чтв 15:33:57 1379155351
>>1379011
>>1379012
Это само собой. Но я не понимаю, как разные массивы в куче друг друга не перезаписывают, даже если для каждого в отдельности используются функции строго от одного аллокатора? У них тогда по идее таблица блоков общая, а список адресов и размеров обслуживаемых массивов у каждого свой.
Аноним 11/04/19 Чтв 15:47:54 1379166352
Аноним 11/04/19 Чтв 17:36:03 1379232353
>>1379155
>Но я не понимаю, как разные массивы в куче друг друга не перезаписывают
Почему они должны перезаписываться? Они через mmap/VirtualAlloc работают. Страницы, которые зарезервировал один аллокатор, другой не получит.
Аноним 11/04/19 Чтв 18:02:02 1379250354
>>1379142
чё?
void foo(T & obj){
t = 0x456;
}

T
tOld = 0x123;
foo(tOld)
// tOld == 0x456
Аноним 11/04/19 Чтв 18:30:06 1379272355
>>1379058
>Ну нахуя все-таки нужны остальные 253 значения
Они не нужны, но избавляться от них нецелесообразно.
Так устроена память, только и всего. Меньше 1 байта память в капуктере не выделяется. А в один байт влазит 256 значений.

Ну а дальше вот все пояснили >>1379096

Аноним 11/04/19 Чтв 21:01:19 1379377356
>>1379250
Блядь, только сейчас увидел, что звёздочки обрезались

АБУ ВЕРНИ ЗВЁЗДОЧКИ ПИДОР спасибо
Аноним 11/04/19 Чтв 21:02:30 1379380357
Когда уже /clang/ и /cpp/ объединят в один тред, учитывая что скорость постинга одинаковая и вопросы в обоих тредах одинаковые, уже давно пора это сделать
Аноним 11/04/19 Чтв 21:48:39 1379415358
>>1379380
нам тут не нужны ети ретрограды!
Аноним 11/04/19 Чтв 22:52:51 1379442359
>>1379151
Ебанутый? Там для обоих заданий это делается на чистом си в 10 строк включая эти ваши поинти брекетс
Аноним 11/04/19 Чтв 23:58:22 1379471360
Screenshot9.png (2Кб, 385x66)
385x66
>>1378203
Не работает
Char_Line(Line *obj) : Line() { };
В данном вызове получаю 0
base - string объект (доступ protected)
Line - базовый класс
Char_Line - дочерний класс
Аноним 12/04/19 Птн 02:35:30 1379504361
Анончик, а как передать в функцию массив структур и получить от неё указатель на его адрес? Вот для примера пример с обычным массивом:
int звёздочкаhui(int pizda[])
{
    for (int i = 0; i < 10; i++)
    {
        pizda = i;
    }
    return pizda
}
int main()
{
    int pizda[10];
    int звёздочкаa;
    a = hui(pizda);
}
А как быть с массивом структур?
Аноним 12/04/19 Птн 03:15:58 1379510362
>>1379504
Ничего не понял (да и хули я пойму то в 3 ночи)
Аноним 12/04/19 Птн 07:07:18 1379532363
>>1379471
Вызов проходит, сайз 0 возвращает - все работает. А что ты хотел сделать, мы не знаем. Возможно ты в base ничего не пишешь. Кода нет.
Аноним 12/04/19 Птн 07:10:20 1379533364
>>1379504
А ты пробовал вместо int[[] you_struct[]?
12/04/19 Птн 12:25:48 1379603365
Аноним 12/04/19 Птн 12:44:00 1379612366
изображение.png (155Кб, 1920x1080)
1920x1080
ласт попытка. Помогите понять как запихнуть в вектор сериализованные данные и дессериализовать их, совсем въехать не могу. в голове логика такая: взять кусок данных по размеру структуры, дессериализовать и пихнуть в вектор через push_back, но как написать это, я хз, если не сложно обьясните пожалуйста.
Аноним 12/04/19 Птн 12:56:59 1379621367
>>1379612
Читал вот это?
https://isocpp.org/wiki/faq/serialization#serialize-no-inherit-no-ptrs

Алсо, на твоём скриншоте ты пытаешься записать из файла в вектор, который использовал до этого. Тебе нужно новый создать, зарезервировать ему сколько-то элементов (это ты узнаешь, прочитав из файла размер), а потом через какой-нибудь std copy записать в vec.data() данные из файла.
Аноним 12/04/19 Птн 13:07:49 1379624368
поясните как бороться с минглингом.У меня в либе есть функция deinitialise_windows();Но Я не могу ее вызвать так как линк ер читает ее как _deinitialise_windows()?Что Я делал не так?
Аноним 12/04/19 Птн 13:09:59 1379625369
Аноним 12/04/19 Птн 13:12:19 1379628370
Аноним 12/04/19 Птн 14:30:56 1379706371
>>1379532
Переменная base дочернего класса должна иметь такое же значение, как переменная базового класса, в конструктор базового класса передаю ссылку на string
Аноним 12/04/19 Птн 14:38:56 1379711372
>>1379706
Char_Line(Line obj) : Line() - пустой конструктор у базового класса

Char_Line(Line
obj) : Line(obj) - может ты имел ввиду так?
Аноним 12/04/19 Птн 16:04:51 1379761373
Screenshot7.png (2Кб, 323x133)
323x133
Screenshot8.png (6Кб, 413x236)
413x236
Screenshot9.png (4Кб, 363x243)
363x243
>>1379711
Вот конструкторы обеих классов. Необходимо чтобы переменная base в дочернем классе имела то же значение, что переменная base в родительском, при этом поле base должно быть private/protectred
Аноним 12/04/19 Птн 16:05:44 1379763374
Screenshot6.png (7Кб, 456x240)
456x240
>>1379761
Конструкторы отклеились
Аноним 12/04/19 Птн 16:28:08 1379772375
>>1379761
Это будет не просто...
Char_Line(Line obj) : Line()
Создаешь объект char_line, приэтом вызываешь line() - который Line()=default;
string base; по-умолчанию инициализируется пустой строкой.
Size пустой строки - 0. Что не так?
Тебе в базовом классе line надо сделать конструктор принимающий указатель на класс line и в нем скопировать значение в string base из передаваемого.
Соответственно Char_Line(Line 'указатель' obj) : Line(obk)
Аноним 12/04/19 Птн 16:51:17 1379783376
>>1379628
знал что такой ответ будет, обязательно подумаю над этим, сподкнувшись о какую нибудь очередную проблему.
Аноним 12/04/19 Птн 16:53:21 1379786377
>>1379621
Спасибо, прояснилось немного
Аноним 12/04/19 Птн 16:54:42 1379792378
>>1379628
и кста при попытке вывода, ловит ошибку сегментирования.
Аноним 12/04/19 Птн 17:23:45 1379815379
>>1379792
Значит в твоем классе PCRepair где-то внутри содержатся указатели и/или выделение памятки. Соответственно так просто его нельзя выводить в файл, как сделал ты в case 5. Скинул бы что ли сам класс, а то нихера не понятно, что ты хочешь то от анона. Я ведь написал десериализацию только основываясь на case 5.
Аноним 12/04/19 Птн 17:51:07 1379838380
>>1379772
Ты об этом?
Char_Line(Line 'указатель' obj) : Line(obj->base)
Это работает в случае, когда поле public, а мне нужно private/protected
Аноним 12/04/19 Птн 18:06:18 1379852381
>>1379838
Нет, о том что написал. У тебя obj - и так объект базового класса.
Аноним 12/04/19 Птн 20:45:20 1379955382
2 (1).png (3Кб, 551x106)
551x106
2 (2).png (16Кб, 746x295)
746x295
В чём проблема?
Аноним 12/04/19 Птн 21:48:00 1379992383
Аноним 12/04/19 Птн 21:48:36 1379993384
>>1379992
>>1379815
ток там ранний код, кейс пятый совсем другой.
Аноним 12/04/19 Птн 22:45:26 1380019385
Как сделать в visual studio нормальный автокомплит от редактора? После intellij где можно среда чуть ли не угадывала твои мысли, в вижуал студио лютое говно которое даже по почти целому названию класса нихуя не может предложить.
Аноним 12/04/19 Птн 23:32:24 1380038386
>>1380019
> Как сделать в visual studio нормальный автокомплит от редактора?
Никак.
10 лет назад было тоже самое.
Аноним 13/04/19 Суб 00:05:30 1380062387
>>1380019
Попробуй ReSharper C++ (плагин от JetBrains) или Visual Assist (только его настроить надо нормально).
Или IntelliCode (должен вместе с 2019 студией поставляться).
Аноним 13/04/19 Суб 01:23:31 1380088388
>>1380019
Решарпер охуительный, собстно, ради него студию и надо ставить.
Аноним 13/04/19 Суб 05:35:02 1380130389
Аноним 13/04/19 Суб 10:16:21 1380176390
Кто поможет тупой тян сдать экзамен?
Аноним 13/04/19 Суб 10:59:23 1380191391
>>1380176
Пиздолис какой-нибудь?
Аноним 13/04/19 Суб 12:07:40 1380223392
Дан одномерный массив А.

Найти сумму элементов в этом массив, стоящих перед минимальными элементами.

( решается в 2 цикла)

Умоляю, помогите. Понимаю, что простота ебать, но я после травмы, и нехуя не знаю.
Аноним 13/04/19 Суб 12:43:27 1380233393
>>1380176
пизда до киева доведет
Аноним 13/04/19 Суб 13:03:57 1380238394
image.png (12Кб, 512x512)
512x512
Ну шо, кто уже Bazel использовал?
От Смейка попоболь на работе, думаю вот предложить Bazel.
Кеширование билдов, распределённые билды, питоно-подобные конфиги, одна годнота короче.
Аноним 13/04/19 Суб 13:22:23 1380252395
>>1380238
А распределённая сборка есть? Интеграция со студией?
Алсо, про него в прошлом треде писали что-то
Аноним 13/04/19 Суб 13:24:12 1380254396
>>1380223
У тебя травма мозга? Объясни, нахуя тебе программирование? Охуеваешь наверное, что госсистема не работает, а сам не лучше
Аноним 13/04/19 Суб 13:47:20 1380262397
Аноним 13/04/19 Суб 14:20:32 1380273398
>>1380238
Я юзал, годнота. Можешь найти мой баребух в прошлем треде
Аноним 13/04/19 Суб 14:30:31 1380275399
>>1380238
Если мощный билд сервер есть, почему бы и нет.
Аноним 13/04/19 Суб 14:37:25 1380279400
Тян все еще на связи.

Кто научит меня программировать за интим фотки?
Аноним 13/04/19 Суб 14:38:44 1380282401
>>1380279
Сделаю за 10 фоток и 200 рублей
Аноним 13/04/19 Суб 14:53:52 1380289402
>>1380279
Давай лучше поебемся, а потом я тебя научу. Какой город? Симпатичная?
Аноним 13/04/19 Суб 14:56:57 1380292403
>>1380279
тебе во фронтенд тред
Аноним 13/04/19 Суб 16:08:19 1380330404
Ньефаг итт.
Прохожу сейчас курс по c++ in unreal
Парочка вещей под конец первого курса осталась мне не совсем понятна, хоть программа и работает. Если я пропущу непонятные мне моменты и продолжу дальше обучение непосредственно с unreal это будет совсем пиздец, или так можно делать? Вообще пропускать непонятные на данный момент темы это нормально во время обучения? А то уже буксую тут, и никуда не могу двинуться нормально.
Аноним 13/04/19 Суб 16:12:19 1380332405
>>1380330
Пропускай и изучай те части которые нравятся. С++ настолько огромный и ужасный язык что весь его изучать это всей жизни не хватит. Разбирайся по мере необходимости каких-то фич.
Аноним 13/04/19 Суб 16:51:32 1380339406
>>1380279
Правила знаешь, без пруфов никто и не почешется.
Аноним 13/04/19 Суб 17:01:21 1380344407
Плюсы как первый язык. Насколько моя мысль конченая?
Аноним 13/04/19 Суб 17:18:48 1380347408
>>1380344
Норм мысль, гораздо лучше, чем начинать с жабопидорства
Аноним 13/04/19 Суб 17:25:36 1380348409
Как делать windows form в студии, доставил сейчас формы для студии, но у меня версия sdc не совпадает и постоянно приходится менять в настройках проекта, + не могу собрать проект, вечно ошибки про "не удалось найти ресурсы, соответствующие указанной культуре или нейтральной культуре. проверьте правильность внедрения "
Аноним 13/04/19 Суб 17:49:53 1380353410
>>1380347
Ну, год назад не особо прокатило. Говорят же, что сложно и проч.Буквально сегодня утром мне в голову ударила идея опять попробовать вкатиться в программирование. Интересно, до куда я дойду на этот раз.
Аноним 13/04/19 Суб 18:26:54 1380360411
>>1380353
Джава и си лучшие языки чтобы начинать, никого не слушай кто говорит обратное. В них ты уделишь время основам, как теории (типы данных, память, области видимости, деревья, указатели), так и практики (фреймворки, зависимости, сборка проектов, компиляторы, работа с ресурсами), и за то же время, пока джс вкатывальщик будет делать телеграм ботов по гайдам и рассказывать как он ПРИМЕНЯЕТ ПОЛУЧЕННЫЕ ЗНАНЕЯ ЕА ПРАКТЕКЕ, ты уже будешь очень много знать и ПОНИМАТЬ.
Аноним 13/04/19 Суб 18:51:42 1380373412
Доброго времени суток, господа. Написал тестовое задание, которое мне дали недавно. Но возник маленький вопросик, о котором я раньше не задумывался, но все же не хочется перед потенциальным работодателем выглядеть идиотом.
Вопрос в следующем: какой вариант лучше?
1) Прописать #include <iostream> в двух файликах и вводить просто cout
2) Везде прописывать std::cout не включая <iostream>
Аноним 13/04/19 Суб 18:53:26 1380375413
>>1380373
ты какой-то полный бред несешь сейчас
Аноним 13/04/19 Суб 18:57:11 1380377414
>>1380375
Может и так, но если ты пояснишь в чем бред, то было бы лучше.
Аноним 13/04/19 Суб 19:19:31 1380383415
>>1380377
Ты перепутал инклюд с юзинг неймспейс. Лучше без юзинг неймспейс
Аноним 13/04/19 Суб 19:27:25 1380387416
>>1380383
Да, перепутал. Благодарю.
Аноним 13/04/19 Суб 19:49:39 1380405417
>>1380344
>Плюсы как первый язык.
примерно так же как терять девственность без гондона со шлюхой у которой вич и пара гепатитов
Аноним 13/04/19 Суб 19:50:19 1380406418
>>1380330
>Вообще пропускать непонятные на данный момент темы это
Один из самых важных скилов в программировании да и в жизни вообще.
Тем не менее, все же нужно уметь как можно более четко локализовать непонятные вещи, то есть на каком уровне абстракции и где именно возникают вопросы.

>А то уже буксую тут, и никуда не могу двинуться
Для первого чтения определенно, важнее двигаться вперед, чем буксовать на месте. Дропай смело, пока такие дропы не мешают тебе усваивать дальнейший материал.
По не усвоенным темам веди дневник, ну и естественно, не забывай про него кстати, половина вопросов у тебя отпадет, когда ты только попытаешься сам для себя их сформулировать письменно.
Аноним 13/04/19 Суб 20:04:05 1380416419
>>1380360
>джс вкатывальщик будет делать телеграм ботов по гайдам и рассказывать как он ПРИМЕНЯЕТ ПОЛУЧЕННЫЕ ЗНАНЕЯ НА ПРАКТЕКЕ

Мой опыт показывает, что это куда важнее на нынешнем рынке труда. Жалею, что решил после изучения С++ идти писать на нем впрод, а не вкатываться в более современные технологии. После С++ любой язык заходит очень легко, но работу не найти, так как нет релевантного опыта. А есть только опыт дрочения байтов в вымирающем десктопе и зп на 10-20% ниже веба/мобилок.
Аноним 13/04/19 Суб 20:11:31 1380421420
>>1380416
>более современные технологии
только это все про технологии продаж. Тут программирование, вообще говоря, кагбе лишнее звено.
Аноним 13/04/19 Суб 20:48:57 1380445421
Аноним 13/04/19 Суб 20:50:15 1380447422
>>1380405
Я лишился девственности с индивидуалкой. Помню, как задрал её настолько, что она кончила два раза, а у меня не получалось. Тогда она начала сводить бедра и сжимать вагину, и мне удалось завершить. Потом я ещё к ней ходил и подарил дополнительно рафаэлки.
байтоеб-энтерпрайзник
Аноним 13/04/19 Суб 21:20:59 1380462423
>>1380447 <---- ВСЕ, ЧТО НУЖНО ЗНАТЬ О БАЙТОЕБАХ
Аноним 13/04/19 Суб 21:28:04 1380467424
>>1380344
Зависи от тебя. Я вкатился в плюсы первым языком, и вот уже сеньор-помидор. Но я адов задрот. Если ты тут ради денег - иди в веб\мобилки. Плюсы - призвание.
Аноним 13/04/19 Суб 21:29:55 1380470425
>>1380344
Да не нужен С++, НЕ НУ ЖЕН. Для лоулевела и системщины есть С, которого вполне хватает, чтобы писать целые ОС. Что касаемо высокого уровня абстракции, то и тут есть варианты по-лучше, в зависимости от задачи. С++ это урод в семье.
Аноним 13/04/19 Суб 21:42:09 1380486426
Аноним 13/04/19 Суб 21:42:46 1380487427
>>1380470
Манядебил, это С уже давно не нужен, когда есть С++
Аноним 14/04/19 Вск 01:01:27 1380572428
>>1380487
Ну иногда хочется забыть про шаблоны и конструкторы перемещения, и херачить всё в один файл с глобальными переменными..
Аноним 14/04/19 Вск 02:01:05 1380576429
>>1380487
Дурак-дебил, ты? ОС не пишут на С++, жопоконтроллеры на С программируют, драйверы всех сортов пишут также на С.
Аноним 14/04/19 Вск 02:22:43 1380579430
>>1379955
В обосанной иде.

>>1380019
очевидно снесни нахуй вижак.

>>1380330
>Прохожу сейчас курс по c++
Перестань заниматься некрофилией

>>1380344
>Насколько моя мысль конченая?
На все 100

>>1380348
Научится делать на электроне формочки.

>>1380360
Согласен, но жаба тоже говно.

>>1380462
Понахватались с двощей байтоебства, на шестнадцатиричный код спустись, мудень.


Мда, половина треда засрана кт, другая по лабам, еще и пердуны сидят.
Аноним 14/04/19 Вск 04:34:01 1380598431
>>1380579
Синьор в треде, я спокоен
Аноним 14/04/19 Вск 05:52:46 1380605432
Я в курсе, что лабы идут нахуй, но я через весь гугл пролез и не смог понять, что от меня хотят(хотя инфы вроде достаточно)
Мне надо вывести количество элементов в строчке, которые больше среднего значения.Я вроде сделал, но компилятор ругается, прошу знающих анонов объяснить человеческим можно двачерским языком, что мне нужно сделать и почему это получилось.

https://ideone.com/UnT2M8
Аноним 14/04/19 Вск 06:30:17 1380610433
>>1380605
i, j значит "вычисли первое значение, вычисли второе значение и верни второе". Соответственно massiv[i, j] это то же самое, что massiv[j]. massiv[j] имеет тип int*. Когда ты пишешь um = sum + masiv[i, j] ты прибавляешь к числу указатель. Вот компилятор и ругается как он ругается.
>что от меня хотят
От тебя хотят, чтобы ты научился писать программы. Если ты высрал 77 строчек не постепенно улучшая код, а сразу, то это хуевый подход.
Аноним 14/04/19 Вск 06:44:17 1380611434
>>1380610
Два чая тебе
>Если ты высрал 77 строчек не постепенно улучшая код, а сразу, то это хуевый подход.

50 из них я скопипастил из прошлого задания про одномерные массивы(+модифицировал под двемерный), не совсем понимаю, что ты имеешь в виду про постепенное улучшение кода.Я делаю какую-то часть и проверяю её на работоспособность, потом пишу дальше.
Надо делать как-то по другому?
Аноним 14/04/19 Вск 07:01:55 1380612435
>>1380605
>masiv[i, j];
Чтобы компилятор такое проглотил нужны классы с переопределением операторов [] и ,
Аноним 14/04/19 Вск 07:06:31 1380613436
>>1380612
Да я уже сделал, но энивей спасибо
Аноним 14/04/19 Вск 07:40:15 1380616437
image.png (44Кб, 789x347)
789x347
>>1375142 (OP)
Двачи, какого хуя sscanf не двигается дальше как та же fscanf, i.e она должна каждый раз дальше искать, но с какого - то хуя всегда находит одну и туже еденицу.

Что я пытаюсь сделать:
У меня есть char array, мне нужно используя sscanf прочитать его пока не кончится (не упрусь в нуль пойнтер) закидывая значения в файл.

P.S доброе утро
Аноним 14/04/19 Вск 08:00:11 1380619438
>>1380616
Ты же каждый раз ей даешь один и тот же указатель, ессно она тебе одно и тоже парсит. Указатель - это тебе не файл, у которого есть текущая позиция, которая сдвигается при чтении.

можешь использовать stringstream, но он сделает копию буфера (оверхед)

можешь вручную искать разделители и парсить числа между ними.
Аноним 14/04/19 Вск 08:02:36 1380620439
>>1380610
>Если ты высрал 77 строчек не постепенно улучшая код, а сразу, то это хуевый подход.
Я иногда пишу тысячу-две строк даже не компилируя. Мне так удобнее. Но у меня много опыта, новичкам так и правда не стоит делать.
Аноним 14/04/19 Вск 10:04:01 1380634440
>>1379815
ну у меня структура, и с первой переменной ловит ошибку, там обычный string.
Аноним 14/04/19 Вск 11:46:00 1380699441
>>1380634
std::string в крестах это не совсем обычный тип данных. Если очень сильно упростить, то это alias на шаблонный класс basic_string<char>, который "внутри" себя содержит указатель на область памяти, где "лежит" сам текст (может быть как на стеке (small string optimization), так и в куче), а так же переменная size (размер строки) и capacity (размер выделенной памяти). Поэтому просто кинуть в файл std::string через ofstream::write не получится, т.к. какой бы длины не была строка sizeof(std::string) будет постоянным.
Аноним 14/04/19 Вск 11:53:19 1380705442
>>1380699
Если я на char заменю, это будет корректно?
Аноним 14/04/19 Вск 11:59:44 1380711443
>>1380705
У std string есть метод c_str
Аноним 14/04/19 Вск 12:02:47 1380715444
>>1380711
Поделись советом, каким образом изучать программирование, чтобы помнить всю инфу как ты, ну я доусона например прочёл, через пол года векторы еле вспомнил весь их синтаксис. Это нужно постоянно иметь практику, но практиковать все и сразу не очень то и получится, либо какой то ещё способ?
Аноним 14/04/19 Вск 12:21:32 1380721445
image.jpeg (62Кб, 720x540)
720x540
>>1380715
> Поделись советом, каким образом изучать программирование, чтобы помнить всю инфу как ты, ну я доусона например прочёл, через пол года векторы еле вспомнил весь их синтаксис. Это нужно постоянно иметь практику, но практиковать все и сразу не очень то и получится, либо какой то ещё способ?
По интересам общайся, двигайся и всё получится.
А если серьёзно, то такие штуки запоминаются, когда решаешь какую-то проблему: загуглил -> запомнил, что такое вообще существует -> знаешь как загуглить ещё раз -> знаешь. Если часто встречаешься с какой-нибудь штуковиной, то хочешь не хочешь, а запомнишь.
Аноним 14/04/19 Вск 12:26:03 1380726446
>>1380721
ну у меня проблемы только с сериализацией и файлами возникали год назад и сейчас когда к плюсам вернулся возникли, просто не понимаю логику записи, ну и синтаксис для работы с векторами хз, нам сказали с массивами делать, а я захотел с чем нибудь поприятнее, оказалось ебля ещё та, препод говорит делай не задумывайся, а я хз как можно что то делать не понимая механику, поэтому торможу.


Алсо, я впервые вижу c_str() поэтому хз куда его впихнуть здесь? https://pastebin.com/AMTmMBqx
Аноним 14/04/19 Вск 12:28:09 1380729447
>>1380705
Не понял, что ты хочешь заменить на char? std::string? Это два разных типа данных: char - один символ, std::string - строка. Или ты имел ввиду указатель на char? Тогда заменить можно, но ебли с сериализацией будет не меньше, но со всем другим придется ебаться с new/delete/memcpy. А вообще я бы решил твою задачу как-то так: https://pastebin.com/4x5nHkza Не самое лучшее решение, но на скорую руку сойдет.

Аноним 14/04/19 Вск 12:34:28 1380733448
>>1380729
на мой уровень знаний 50% комманд и идей не понятна, но, попробую разобраться.
Аноним 14/04/19 Вск 12:55:43 1380749449
>>1380726
Обычно для сериализации пишут либо operator << и operator >>, либо методы Save/Load в своем классе (Write/Read), которые принимают ссылку на поток:
void A::Write(ostream & out)
{
....out << this.foo << this.bar;
}
Или
Istream & operator >> (istream & in, A const & a)
{
....in >> a.foo >> a.bar;
...return in;
}

Тебе же видимо препод-хуепод не позволяет писать нормально, а ебёт мозг байтами.
Тогда тот вариант, что ты скинул, должен прокатить (а если не прокатывает, то почему?)
Аноним 14/04/19 Вск 13:15:41 1380767450
>>1380579
>Перестань заниматься некрофилией
И как мне теперь кодить в Unreal? Попросить Epic Games переписать его на чем-то посовременнее?
Аноним 14/04/19 Вск 15:40:42 1380854451
>>1380749
Ну он обожает байтоебить, но я сам себя ебу, все давно написали все с массивами на изи, а я полез в векторы, и как будто зашёл в диалог с тян, вообще не ебу шо писать, просто ни одной комманды не знаю, поэтому попросил тут помощи, чтобы сдать быстрее лабу, и нормально сесть разобраться что же такое сериализация, но прийдется как то в чары записывать слова цельные и редактировать, потому что стринг имеет указатель как оказалось, а тот код что ты(или не ты) написал выше, я пока что не совсем понимаю. Буду ебаться, вариант юзать класс c_str тож хз, так как не знаю куда его применить в моем коде.
Аноним 14/04/19 Вск 15:49:40 1380856452
Аноним 14/04/19 Вск 16:02:58 1380859453
>>1380579
>На все 100
>Согласен, но жаба тоже говно.
БиполярОЧКА
Аноним 14/04/19 Вск 16:09:47 1380860454
>>1380856
Да лан, разберусь, спасибо за помощь!
Аноним 14/04/19 Вск 16:28:08 1380864455
>>1380576
>ОС не пишут на С++
Потому-что легася, а так можно даже на расте.

>жопоконтроллеры на С программируют
Все вменяемые люди их уже на С++17 пишут, констэкспр вместо макродрисни и прочее, алле

> драйверы всех сортов пишут также на С.
Пишу на работе драйвер на С++17.

За щекой проверяй, дебилушек

Аноним 14/04/19 Вск 16:36:13 1380865456
>>1380864
>констэкспр вместо макродрисни и прочее, алле
в задачах кодогенерации все равно не обойтись без макросов, тк при помощи макросов можно делать новые лексемы, а шаблонами - нет
в лучшем случае получается смесь шаблонов и макросов
Аноним 14/04/19 Вск 17:11:26 1380871457
Так это, по поводу Bazel.
Поясните как работать с ним со студии? Собрать я проект смогу, но как потом по удобному работать из любой другой IDE?
Аноним 14/04/19 Вск 17:32:17 1380879458
>>1380865
>в лучшем случае получается смесь шаблонов и макросов
Вот этот вроде не совсем дебил хотя и мелкобуква
Аноним 14/04/19 Вск 17:48:39 1380891459
>>1380860
Я к тому, что все о методах тех же vector и string описаны на этих сайтах. И c_str() в том числе.
Аноним 14/04/19 Вск 18:08:00 1380904460
>>1380733
Хз что в коде не понятно, но попытаюсь объяснить. Основной смысл вот в чем: шаблонная функция serialize нужна, чтобы сериализовать все тривиальные классы (например int, Date_of_call, Deadline). Далее идут специализации шаблона для нетривиальных классов (std::string, PCRepair, std::vector). Специализация для std::string сначала записывает в файл размер строки, а затем саму строку. Специализация для PCRepair записывает в файл все поля класса последовательно, используя нужную специализацию функции serialize (это делает компилятор). Специализация для std::vector сначала записывает размер вектора, а потом каждый элемент записывается в файл с помощью специализации функции serialize для PCRepair. Десериализация делает все тоже самое, но в обратном порядке. А код со строки 117 и до конца вообще нужен только для теста всего.
Аноним 14/04/19 Вск 18:24:08 1380909461
>>1380891
ну они описаны, но как юзать их именно в моей задаче я ещё хз, как переделать чтобы всунуть туда c_str
Аноним 14/04/19 Вск 19:07:54 1380958462
>>1380864
Хуй знает что у тебя за говнокантора, но в моей мне платят 8к зеленых и пишем мы на С, начиная от поддержки легаси щит и заканчивая минифильтрами.
14/04/19 Вск 19:54:08 1380995463
Аноним 14/04/19 Вск 20:17:34 1381031464
Анон, подскажи плиз решаю задачку
Нужно сделать динамический связанный список работающий с парами ключ-значение, где значение может быть любого типа.

Создаю класс списка который работает со структурами вида

template<typename T>
struct listItem
{
int key;
T value;
listItem prev;
listItem
next;
};

Затем, по логике мне нужно создать указатель на первый элемент (NULL если мы только создали список и ничего туда не внесли)
Указатель для нешаблонных структур выглядел бы как "listItem t;"
Но как сделать его для шаблонных стурктур?
Вариант с

template<typename T>
listItem<T>
t;

не подходит.
Как это делается правильно?

Аноним 14/04/19 Вск 20:18:56 1381032465
thythtyh.png (24Кб, 536x816)
536x816
>>1381031
Символы указателей съела вакаба, вот картинка.
Аноним 14/04/19 Вск 20:27:25 1381036466
>>1380958
>8к зеленых и пишем мы на С
не плохие деньги если ты живешь в ростове!
Аноним 14/04/19 Вск 20:32:43 1381040467
>>1380958
>
>
а вообще 8к чистыми в месяц - это уже долина
ты же там, да?
Аноним 14/04/19 Вск 21:07:28 1381071468
>>1381036
Так это ж в год 8к зелёных. ~40к в месяц - типичная нормальная зп в мухосрани.
Аноним 14/04/19 Вск 21:17:34 1381082469
>>1381032
>>1381031
Видимо это сделать невозможно.
Максимально годный ответ нашёл https://stackoverflow.com/questions/26907770/how-to-use-templated-struct-in-class-c
где чел предлагает конвертировать все данные в std::string и их писать. Збс, блэд, это и было первым пришедшим мне в голову решением.
Но может всё-таки есть правильное решение этой задачи? А, 8к в наносекунду сеньоры?
Аноним 14/04/19 Вск 21:23:46 1381084470
>>1381071
>~40к в месяц
+хатка, оставшаяся от бабушки - и в мухосрани ты уже можешь рассчитывать на 8/10 нордическую блондинку с зелеными глазами, сам будучи лысоватым пузаном с дефектами речи

Аноним 14/04/19 Вск 21:26:23 1381085471
>>1381082
конечно есть
тебе нужно кое где расставить угловые скобочки
а так да, копай, студентик
Аноним 14/04/19 Вск 22:23:43 1381507472
rtyhtryh.png (16Кб, 448x644)
448x644
Аноним 14/04/19 Вск 22:43:07 1381530473
>>1381036
В месяц.

>>1381040
В Гейропии. В ДСе можно 5к спокойно зашибать, мест дохуя.
Аноним 14/04/19 Вск 23:03:11 1381539474
79648.jpg (46Кб, 500x500)
500x500
Здравствуйте! Начал изучение c++ с помощью пикрелейтед. Прошел до конца 3й главы, выполняя все задания. Ответил на все контрольные вопросы 3й главы, кроме одного :

6. Что прекращает ввод значения в целочисленную переменную?

Помогите пожалуйста разобраться.
Аноним 14/04/19 Вск 23:08:08 1381541475
>>1381539
Наверное пробельный символ (не тоже самое что пробел) и EOF. В идеале найди в интернете английское издание и вбрось этот вопрос на английском языке.
Аноним 14/04/19 Вск 23:17:11 1381546476
>>1381541

Просто перед этим вопросом, был похожий вопрос:

5. Что прекращает ввод значения в строку!

Я ответил (надеюсь правильно) — считывание строки прекращается, как только будет обнаружен пробельный символ, то бишь пробел или табуляция.
Аноним 14/04/19 Вск 23:18:26 1381547477
>>1381539
>Начал изучение c++ с помощью пикрелейтед
земля тебе пухом!
Аноним 14/04/19 Вск 23:20:36 1381549478
>>1381507
если я отвечу, то ты сам ничему не научишься
рой студентик, рой
Аноним 14/04/19 Вск 23:21:33 1381551479
>>1381530
5к в дс сишнику? "мест" можно пересчитать на пальцах рук

Аноним 14/04/19 Вск 23:28:54 1381554480
>>1381551
даже так, что скорее всего никто в дс за кодинг не даст 5к, навалят сверху тимлидерских и менеджерских функций, придется жопкой крутится чтобы все успеть
Аноним 14/04/19 Вск 23:38:39 1381557481
>>1381549

По совету >>1381541 нашел только такой ответ на англ. ресурсе - "Ввод в целое число завершается любым нечисловым символом." Правильно? ссылка на ответы - https://stackoverflow.com/questions/26851934/what-terminates-reading-input-into-an-int
Да вот устал копать просто, на все нашел ответы в книге, кроме этого вопроса (Половину дня убил на это, но не жалею, лучше усвоил материал). И к сожалению, я не студент, не тот возраст уже, приходится самообучаться параллельно ненавистной работе T_T
Аноним 14/04/19 Вск 23:38:55 1381558482
>>1381549
>рой студентик, рой
Ну ок, пойду читать учебник по Java под ведро, всё равно за с++ больше 5 в дс не получить.
Аноним 14/04/19 Вск 23:40:33 1381559483
>>1381557
>Половину дня убил на это

В смысле на контрольные вопросы в целом.
Аноним 14/04/19 Вск 23:50:22 1381560484
>>1381559
Зачем? Ты так далеко не уедешь, и вопросы там довольно элементарные, лучше смотри вопросы с собеседований гугла/м.софта
Аноним 15/04/19 Пнд 00:04:16 1381568485
>>1381557
>И к сожалению, я не студент, не тот возраст уже, приходится самообучаться параллельно ненавистной работе T_T
вкатываться с непрофильной вышкой в кресты в 2к19 в северном мордохе
ох, щит
Аноним 15/04/19 Пнд 00:05:29 1381570486
>>1381558
за кресты в дс и 3к то получить проблематично, кек
Аноним 15/04/19 Пнд 00:28:17 1381583487
>>1381554
4.7k$ изи пизи для сеньора

мимо-джаваблядь-из-дойче плюсовики тут тоже есть
Аноним 15/04/19 Пнд 00:31:13 1381585488
>>1381583
о, да, детка
щас еще чувак из нвидии отпишется что сидит на 400к и будет всем хорошо в треде
вкатывальщики воспрянут духом

Аноним 15/04/19 Пнд 00:38:09 1381588489
>>1381585
Он сидит за 320к, читал тот тред
Аноним 15/04/19 Пнд 02:47:48 1381601490
>>1381585
Меня звали?

Мимо-320к-из-Нвидии.

Тут еще кстати немного с вестинга акций капает.
Аноним 15/04/19 Пнд 04:28:55 1381625491
>>1381554
За просто кодинг и 100 не дадут. Просто кодинг это история про джунов.
Аноним 15/04/19 Пнд 05:21:53 1381628492
>>1381625
джуны - главные рабочие лошадки кодинга
Аноним 15/04/19 Пнд 06:42:13 1381643493
>>1381585
У меня после налогов выходит где-то $13k в американской глубинке. Чистые плюсы, без каких-то специальных навыков вроде машинного зрения.
Аноним 15/04/19 Пнд 11:18:48 1381693494
>>1381628
нет
в лучшем случае джун ничего не делает на проекте, а значит не вредит
а обычно джут первые три годика приносит прямой вред фирме
Аноним 15/04/19 Пнд 11:21:42 1381694495
>>1381643
>где-то $13k в американской глубинке
пиздец
это просто дохуищи для простого работяги (коим и являются кодеры) для сша если не долина
Аноним 15/04/19 Пнд 11:54:10 1381707496
>>1381568
В основном для работы с unreal engine начал, хотя бы плагины писать. Да и для общего развития, ну и это очень интересно оказалось.
Аноним 15/04/19 Пнд 12:46:28 1381722497
Хочу написать обобщенную функцию для генерации опкодов инструкций с двумя операндами. Операнды могут быть регистрами, литералами и адресом памяти. Если делать не обобщенно, будет так:

instruction* make_inst_reg_reg(instruction_type type, register_name reg1, register_name reg2);
instruction make_inst_reg_num(instruction_type type, register_name reg, int value);

Можно ли реализовать все это как один шаблон?

Аноним 15/04/19 Пнд 12:50:41 1381726498
Screenshot from[...].png (49Кб, 905x241)
905x241
>>1381722
Алсо, как можно сделать обобщенно это? Макросы подставляются в место, где определены переменные context и instr, все вместе образует единый блок кода.
Аноним 15/04/19 Пнд 15:29:07 1381801499
Макросы в Makefile это же препроцессор?
Аноним 15/04/19 Пнд 17:20:15 1381854500
Аноним 15/04/19 Пнд 18:07:08 1381879501
>>1381560

Для начала, хорошо бы твердо усвоить основы.
Аноним 15/04/19 Пнд 18:11:17 1381881502
>>1381854
в области где кресты применяются это именно так
джун первые три года только вредит проекту, портит кодовую базу
Аноним 15/04/19 Пнд 19:11:01 1381908503
>>1381881
Ну если в конторе никто не ревьювит код юнцов (да и не только их), то тут уже не понятно, кто больший вредитель
Аноним 15/04/19 Пнд 20:20:49 1381949504
изображение.png (73Кб, 1916x1008)
1916x1008
изображение.png (64Кб, 1914x952)
1914x952
Я если честно уже заебался искать. Мозги уже не соображают нихуя вечером. Короче пните меня, где ошибка?
И так и эдак пытался удалять один эелмент из лист-виджета. Нихуя.
Аноним 15/04/19 Пнд 20:38:29 1381960505
>>1381949
QListWidgetItem *QListWidget::takeItem(int row)

Ты же пытаешься удалить выделеный айтем.
Аноним 15/04/19 Пнд 20:45:58 1381965506
guessmynumber.jpg (125Кб, 1086x984)
1086x984
zadacha.jpg (16Кб, 784x234)
784x234
govnocod.jpg (153Кб, 814x922)
814x922
Народ, помогите ньюфагу!
Например, мы загадали число 90. Прога спрашивает за 50, мы говорим, что загадали число больше. Она даёт 95. Как сделать так, чтоб при выборе варианта "2. Меньше" мы получали число больше 50-ти?
Много тапками не бросайтесь... пожалуйста.
Аноним 15/04/19 Пнд 20:49:47 1381967507
>>1381960
Ну и да, читай описание функций, там показано и как удалить выделенный айтем тоже.
Аноним 15/04/19 Пнд 20:53:37 1381968508
>>1381965
Очевидно, что твоя проблема в rand() % 100 + 1
Расскажи мне, что означают каждая часть этой строчки.
Аноним 15/04/19 Пнд 21:01:35 1381973509
>>1381968
rand() — рандомное число
% 100 — деление этого числа по модулю. Так мы должны получить диапазон от 0 до 99.
+ 1 — так мы смещаем диапазон на единицу, то бишь получим от 1 до 100.
Разве проблема в ней? Почему? Я думал, что я просто не могу придумать как юзать всякие if и прочие инструкции для дела.
Аноним 15/04/19 Пнд 21:03:01 1381975510
>>1381973
>Так мы должны получить диапазон от 0 до 99.
Во-во. А на самом деле какой диапазон ты должен получать для того чтобы достичь цели?
Аноним 15/04/19 Пнд 21:10:11 1381979511
>>1381975
От 1 до 100 ._.
Но у меня (ещё?) проблема. Весь день думаю — не надумал.
Аноним 15/04/19 Пнд 21:13:04 1381980512
>>1381979
Тащемта ты должен получать диапазон от "1 или минимальное число предложенное пекой" до "100 или максимальное число предложенное пекой".
Не совсем так, но суть ты наверное понял?
Если нет то давай пройдём по шагам.
Аноним 15/04/19 Пнд 21:16:35 1381984513
>>1381980
Бл*н. Походу понял. То есть нужно по большому счёту что-то сообразить лишь с этой строчкой?
Аноним 15/04/19 Пнд 21:22:09 1381990514
>>1381984
Почти. Там ещё по мелочи, я думаю ты разберёшься.
Аноним 15/04/19 Пнд 21:24:16 1381992515
>>1381990
Спасибо, анон, что наставил на путь истинный
Аноним 15/04/19 Пнд 21:30:43 1381996516
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов