Бред

Ответить в тред Ответить в тред
Check this out!
Аноним 09/11/21 Втр 09:52:05 2575818221
Screenshot8.png 44Кб, 781x796
781x796
Screenshot12.png 42Кб, 681x910
681x910
Анон, вкатываюсь сам-знаешь-во-что, дошел до указателей на С++ и скоро уже расхуярю клавиатуру, блядь, со психу.
На 1-м пике то, что начал катать я по задаче из purecodecpp.
На 2-м пике решение. Я уже, ебать их маманек вовседырно, тупо стал смотреть и писать как там. И НИХУЯ НЕ ПОЛУЧАЕТСЯ!
Что, сука, не так?!
Указатель на массив объявил? Объявил!
Аргументы с педерастической * прописал? Прописал!
Скопировал уже все, кроме названий переменных и функций и один хуй какая-то ошибка, погуглил - нихуя не понял, у меня такого как в гугле нет.
09/11/21 Втр 09:54:43 2575819042
>>257581822 (OP)
>Визаул студио
>Винда
Нахуй пошел школота
Все пользуется терминалом и линуксом
09/11/21 Втр 09:55:53 2575819513
Аноним 09/11/21 Втр 09:57:54 2575820134
>>257581822 (OP)
Так ты дебил, и дело здесь не в указателях. Ты основы забыл выучить. Садись всё заново учить, указатели здесь ни при чем.
Аноним 09/11/21 Втр 09:58:17 2575820235
Блядь, анончики, сорре, сам нашел проблему, за каким-то хуем дважды объявляю parr, вот он и залупается.
Посоветуйте, плез, задачек по указателям, с возрастающей сложностью, чтобы основательно погрузиться, тассзть.
09/11/21 Втр 09:58:41 2575820446
>Визаул студио
>Винда

>Что, сука, не так?!
Qt Creator и Linux надо было юзать. Тогда было бы желание помочь, а так - у тебя свой, особый путь.
Аноним 09/11/21 Втр 09:58:44 2575820477
Аноним 09/11/21 Втр 09:59:03 2575820558
>>257581951
Охуенно наверное везде дописывать std::, да?
Аноним 09/11/21 Втр 09:59:14 2575820609
Аноним 09/11/21 Втр 10:00:54 25758211910
vs22 охуенна, ОХУИТЕЛЬНА
но правда с шарпом, для плюсов хз
Аноним 09/11/21 Втр 10:00:55 25758212111
>>257582055
Я читал, что де гиковатые товарищи любят прописывать везде расширения области видимости, чтобы-де избежать конфликтов с одинаковыми наименованиями из разных пространств имен.
Аноним 09/11/21 Втр 10:02:24 25758216712
>>257581822 (OP)
Тебе же русским по серому написали в чём дело. Ты знаешь значение кажного из слов в описании ошибки?
Аноним 09/11/21 Втр 10:02:46 25758218613
>>257582121
Макаки просто время переводят на набор лишних символов. Там где есть конфликты, там точечно указываешь какой неймспейс нужен, но это не значит что это надо делать дефолтной практикой и писать простыни зазря.
Аноним 09/11/21 Втр 10:05:26 25758226114
>>257582119
Сколько им лет понадобилось, чтобы сделать её 64битной? Ор выше гор
Аноним 09/11/21 Втр 10:06:13 25758228615
>>257582167
Нет, я просто код копирую из туториала.
Аноним 09/11/21 Втр 10:07:05 25758231416
>>257582186
будет прикольно когда программист который это писал съебёт и всё посыпится
Аноним 09/11/21 Втр 10:08:10 25758235817
>>257582286
когда будешь в линуксе тогда и приходи
Аноним 09/11/21 Втр 10:10:53 25758245918
>>257582358
И нахуй мне линукс. Я как код попишу в варзон иду играть. А через линукс так можно?
Аноним 09/11/21 Втр 10:11:14 25758247019
>>257582060
Меньше удобств, больше выебонов на пустом месте.
Аноним 09/11/21 Втр 10:13:27 25758255220
>>257582459
>иду играть
У тебя же ещё сперма на губах не обсохла, дитятко. Какое тебе программирование?
Аноним 09/11/21 Втр 10:16:22 25758264421
>>257582552
Я просто люблю отдохнуть за тем, что мне нравится. Что в этом такого?
Аноним 09/11/21 Втр 10:17:25 25758268222
>>257582552
А ты я смотрю много хуев пересосал
Аноним 09/11/21 Втр 10:26:27 25758298623
>>257581822 (OP)
Код у тебя не компилируется потому что ты в функции объявляешь пермеменную (parr) с таким же именем, как и один из аргумент функций, а так нельзя.
Но проблема не в этом, а в том, что во-первых, ты не читаешь описание ошибки.
А во-вторых, ты сам не знаешь, что пишешь: у тебя функция выделяет память для массива и возвращает указатель на новый массив. Но одновременно с этим, функция принимает указатель на какой-то массив - чтобы что? Зачем ты добавил этот аргумент, если он не будет использоваться? Ты вместо того, чтобы сперва подумать как тебе надо, а затем написать, делаешь наоборот, а так нельзя.
Аноним 09/11/21 Втр 10:29:00 25758308024
>>257581822 (OP)
>педерастической
О как. Ты взвешен и сочтён недостойным. Выкатывайся.
Аноним 09/11/21 Втр 10:29:33 25758310425
>>257582986
Ну и нахуй ты мне это объясняешь. Чел, я кодинг учу, чтобы бабки получать нормальные, так мне до пизды все эти функции-хуюнцкии. Я со стаковерфлоу копирую код и нормально.
Аноним 09/11/21 Втр 10:33:34 25758324226
>>257583104
>так мне до пизды все эти функции-хуюнцкии. Я со стаковерфлоу копирую код и нормально.
Вангую как ты будешь потом ныть после провальных собесов.
Аноним 09/11/21 Втр 10:34:37 25758327427
>>257583242
Да толстит он. Как можно не любить функции-хуюнкции? Все их обожают.
Аноним 09/11/21 Втр 10:36:42 25758335028
it-юмор-geek-Ме[...].jpeg 286Кб, 810x855
810x855
Аноним 09/11/21 Втр 10:37:08 25758336729
>>257583104
С таким подходом у тебя не получится. Программирование - это такая область, где надо дохуя въёбывать (в том числе и бесплатно), и иногда даже думать. Любой ньюфаг-программист в фирме - это большие расходы, а у ботана-выпускника физтеха с горящими глазами есть хоть какой-то шанс чему-то научиться и эти бабки отбить, так что ему платить бабки скорее всего будут, а тебе - нет. Это всё выкупается с первых минут интервью же.
Аноним # OP 09/11/21 Втр 10:40:26 25758347930
Тут уже и троллят от моего имени.
Аноны, спасибо вам за ответы, я, правда, сам нашел ошибку, но все же, остаются вопросы, чувствую, что не понимаю механику происходящего. Вроде бы ясно, что указатель привязан к адресу в памяти и выдает содержимое по этому адресу, но на практике нихуя не ясно.
1. Почему функция (подчеркнул красным) имеет тип double, хотя возвращать она будет значение адреса в памяти?
2. Зачем в последней функции ptarr (т.е., переменной-миссиву) было присвоено нулевое значение, разве оператор delete не обнуляет содержимое памяти по адресу этой переменной?

Буду очень признателен тем, кто разъяснит последовательность действий в пеке при работе с указателями.
Аноним 09/11/21 Втр 10:42:04 25758354031
1st.png 69Кб, 681x910
681x910
Аноним 09/11/21 Втр 10:42:11 25758354832
>>257583350
Почему не пикче нет лучшего ЯП?
Аноним 09/11/21 Втр 10:44:47 25758365433
>>257583548
Ты про питон? Он же там, самый первый
Аноним 09/11/21 Втр 10:46:14 25758371734
>>257583654
Не, я не про скриптопарашу
Аноним 09/11/21 Втр 10:47:23 25758375835
16344217475881.jpg 59Кб, 400x400
400x400
Вкатывайся В Форс Копрокарлсона
Аноним 09/11/21 Втр 10:47:42 25758376836
16364428875930.png 925Кб, 1280x699
1280x699
Аноним 09/11/21 Втр 10:47:58 25758377637
16364410356281.png 69Кб, 345x646
345x646
Аноним 09/11/21 Втр 10:48:23 25758378938
16364404990210.png 291Кб, 723x783
723x783
Аноним 09/11/21 Втр 10:48:50 25758380739
16364404089850.png 996Кб, 973x558
973x558
Аноним 09/11/21 Втр 10:49:38 25758385340
16362004961241.png 938Кб, 2616x3363
2616x3363
Аноним 09/11/21 Втр 10:49:40 25758385441
>>257583479
> разве оператор delete не обнуляет содержимое памяти по адресу этой переменной?
Нет не удалаяет, он говорит системе что теперь это место в памяти свободно, и можно его перезаписывать. Никто не мешает тебе его повторно разименовать и получить, или мусор, или битый объект, или вообще тот же самый объект, если его не успело ничего перетереть.
Но это не точно, лет 10 к плюсам не прикасался.
Аноним 09/11/21 Втр 10:54:01 25758400542
>>257583479
> 1. Почему функция (подчеркнул красным) имеет тип double, хотя возвращать она будет значение адреса в памяти?
Нихуя. Не дабл, а указатель на дабл.
> 2. Зачем в последней функции ptarr (т.е., переменной-миссиву) было присвоено нулевое значение, разве оператор delete не обнуляет содержимое памяти по адресу этой переменной?
Делит освобождает память на куче, а указатель теперь указывает на хз что, мусор. А нулевой указатель всегда чекнуть можно на невалидность.
> Буду очень признателен тем, кто разъяснит последовательность действий в пеке при работе с указателями.
Просто и без задней мысли пользуешься. Лучше сразу к умным указателям привыкай, RAII и все такое.
Аноним 09/11/21 Втр 10:55:11 25758406243
>>257583854
>>257583479
> Зачем в последней функции ptarr (т.е., переменной-миссиву) было присвоено нулевое значение
На первую часть не ответил. Чтоб другой код, за пределами твоего модуля мог отследить, что произошло удаление объекта. Тупо чекнув проверкой на 0.
function (Foo* ptr) { if (!ptr) {ptr->bar();} }
Аноним 09/11/21 Втр 11:11:20 25758473544
>>257583479
>1
Она имеет тип "double*", т.е. указатель на double.
>указатель привязан к адресу в памяти
Не столько "привязан", сколько "содержит". Указатель можно воспринимать как пару из двух сущностей: адреса в памяти и, быть может, всяких вспомогательных метаданных, описывающих тип переменной.
В частности, когда компилятор видит запись "double★", он понимает ровно три вещи:
1. Щас ему дадут адрес в памяти.
2. По этому адресу будут лежать sizeof(double) (т.е., скорее всего, 8) байт подряд.
3. Эти байты ему, скорее всего, рано или поздно придётся трактовать как число с плавающей запятой.
С другой стороны, запись "void★" - это только адрес в памяти. Т.е. ты явно говоришь компилятору, что это не его ебаное дело, что там лежит.

>2
Рекомендую пока отстать от c++ и как следует освоить простой си. В частности, стандартную сишную кучу, malloc()/free(), вот это всё.
Но пока отвечу так: delete по спецификации не обязан ничего занулять, он только убирает информацию о выделенности блока памяти из служебной структуры данных кучи. Ты этого напрямую не видишь, т.к. напрямую с этой структурой работать не предполагается. После этого этот указатель всё ещё куда-то указывает - но уже на рандомное место в памяти, которое тебе больше не принадлежит.
Зануляется сам указатель, скорее всего, для того, чтобы при случайной попытке обратиться к памяти по нему твоя программа быстренько и шумно упала (т.к. обращение к памяти на первой странице крашит прогу к хуям), а не начала творить странный треш в неожиданные моменты. Но вообще хуй знает. Лучше спроси у поца, который этот код писал. Он выблядок с верблюжьей нотацией головного мозга, они все непредсказуемые поехавшие.

>>257584005
Какие ему нафиг умные указатели, успеет ещё.
Аноним 09/11/21 Втр 11:17:55 25758500045
>>257581822 (OP)
А нахуй ты вкатываешся в самый сложный язык на планете? Учи джаву, питон или пхп и не еби себе мозг.
Аноним 09/11/21 Втр 11:21:30 25758515246
>>257584735
> Он выблядок с верблюжьей нотацией головного мозга, они все непредсказуемые поехавшие
Уууу,сука. Иди земли поешь что ли.
Аноним 09/11/21 Втр 11:22:29 25758517347
it-юмор-geek-do[...].png 256Кб, 960x578
960x578
питон делает:
print('hello world')
09/11/21 Втр 11:29:03 25758545248
>>257582047
Это дебил в тебе подебил.
Он же не простыню пишет, а тупо дрочит.
У него, пока, конфликтов больше в голове, чем в программе.
Аноним 09/11/21 Втр 11:33:15 25758565649
>>257584005
>Нихуя. Не дабл, а указатель на дабл.
Вот оно что. Вот это мне непонятно.
Почему функция имеет тип указателя? Как это вообще работает?
Функция, как я понимаю, это конструкция языка, которая заставляет пеку провести какие-то операции с принимаемыми аргументами. Итогом своей работы функция имеет какое-то значение. Выходит результат работы функции - указание на выделенную область в памяти?.. Ну ладно..
>>257583854
>>257584062

Спасибо всем, аноны. Не скажу, что стало сильно лучше, но какие-то изменения в понимании работы указателей появились.
Аноним 09/11/21 Втр 11:43:25 25758612750
>>257581822 (OP)
ты просто тупой. ты как обезьянка что-то делаешь но нихуя не понимаешь что и зачем. таким подходом ты ничему не научишься. то что ты делаешь - это не учеба, а копирование.
Аноним 09/11/21 Втр 11:50:50 25758645251
>>257585656
У тебя не верное представление о том, что такое функция.

Есть соглашение о вызове функций. Советую хотя бы поверхностно о нем прочитать.

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

Для понимания, тебе надо научиться представлять переменные не как некие абстрактные объекты и сущности. А как сраные ячейки памяти с цифрами, которые перекладываются туда сюда.

>Почему функция имеет тип указателя
Что бы код ее использующий знал, что по указателю (по адресу в памяти) который вернула функция лежит данные определенного типа.

Ты можешь вернуть void* и трактовать данные как хочешь и иногда даже ничего не ебнется. Но если ты сделаешь это не верно - ебнется и в самом ужасном случае, ебнется не сразу
.
Аноним 09/11/21 Втр 12:05:25 25758711752
>>257585656
Да у тебя же МАТЕМАТИЧЕСКИЙ СКЛАД УМА. Не, это круто, на самом деле. И ты в чём-то прав, можно воспринимать функции и так. В функциональном программировании так вообще имеет место страшный дроч на этот способ рассуждать. К сожалению, конкретно к твоей функции freeMemory такое описание не очень применимо, т.к. главный смысл её существования - работа с глобальной структурой данных кучи, т.е. побочный эффект (гугли "чистая функция").
На самом деле я не ебу, зачем она возвращает этот указатель, если он всегда нулевой. Дурацкий какой-то код. ИМХО, можешь заменить double* на void и не париться.
09/11/21 Втр 12:08:35 25758727553
>>257585656
Философия программирования это отдельный курс, который тебе надо осваивать, после которого ты поймёшь откуда уши торчат у всей этой при+нутой ебалы.
Просто задрачивая примечики не поймёшь.
Делаешь пример пробуешь понять, почему он сделан именно так.
Но, не имея опыта сам он не появится.
Лучше почитай структуры данных и алгоритмы.
Именно просто почитай, т.к. всё задротство состоит в том, чтобы впихнуть алгоритмы в язычок какой-нибудь и чтобы ебли поменьше было.
А в твоём случае и чтобы на рыночек галерных рабов вкатиться.
Так уж лучше Kotlin или Джава или Пых.
Сишка для ебанутых и злопамятных, т.к. помнить там надо дохуя и понимать как это дохуя потом скажется на твоём говнокоде.
09/11/21 Втр 12:10:55 25758737754
>>257587275
Самы упоротые токсики это, как раз, плюсанутые сишники.
Аноним 09/11/21 Втр 12:12:53 25758747755
>>257587275
Хз, я вот такие методики лютой хуйней считаю. Объяснять человеку абсолютно абстрактно что чем является бред. У него тучи вопросов возникнут, часть проебутся в итоге будут непонятное месиво заний.

ИМХО пограмировать надо начинать с прикладной задачи. Что бы вот уебаться в проблемы, а потом уже уходить в теорию, попутно имея прикладную практику.
Аноним 09/11/21 Втр 12:23:54 25758794956
>>257581822 (OP)
В функции first вместо double* parr = new double[SoA]; напиши просто parr = new double[SoA];

>>257582986 этот анон правильно подсказал


Ещё совет - твоя функция не будет прерываться, если ты напечатаешь 0, добавь в do...while if(!start_cont) break;
09/11/21 Втр 12:26:21 25758805457
>>257587477
В принципе да, но пока он учится у него есть возможность отложить вопрос, у него нет дедлайна, у него нет необходимости кому-то что-то пояснять.
А ему всё это придётся делать и имея в своём багаже только умение кодить ему очень не просто придётся.
А умение "сократить дистанцию" даёт именно изучение базовых алгоритмов и структур данных.
Аноним 09/11/21 Втр 12:36:48 25758850758
>>257581904
Ты на вим ещё подрочи сука
Аноним 09/11/21 Втр 13:15:07 25759053759
прыгун.webm 1016Кб, 320x240, 00:00:12
320x240
>>257586452
>>257587117
>>257587275
Спасибо, b/ратцы, не ожидал, что так подробно и толково ответят на нубовопросы.
Откровенно говоря, я вряд ли стану погромистом (я уже немолод и у меня другая профессия), но, быть может, напишу игруньку своей мечты в перерывах между работой и ваши разъяснения приблизили меня к сей нехитрой цели.
Аноним 09/11/21 Втр 13:32:54 25759143360
>>257581822 (OP)
Не шарю в плюсах, но разве безопасно возвращать указатель, который указывает на память, созданную в функции.
Знатоки плюсов, объясните пж
Аноним 09/11/21 Втр 13:35:38 25759158961
Аноним 09/11/21 Втр 13:46:10 25759216262
>>257591433
На стековую - небезопасно в принципе ты можешь извратиться и использовать её безопасно, но зачем? Разве что если ты кодишь под ну очень ограниченные по оперативке микроконтроллеры, да и тогда на это будут смотреть как на дикое извращение. На кучу - сколько угодно.
Аноним 09/11/21 Втр 13:50:03 25759236563
>>257592162
аа, то есть вот этот new double на кучу выделяет память?
типа malloc?
Аноним 09/11/21 Втр 13:52:55 25759252764
>>257588507
если захочу, он мне сам подрочит
Аноним 09/11/21 Втр 14:00:28 25759292865
>>257592365
Ага. В плюсовой куче есть ряд отсутствующих в malloc-ах фишек, позволяющих при желании стандартизированным образом кастомизировать её поведение, но центральная идея абсолютно та же.
Аноним 09/11/21 Втр 14:09:21 25759334766
До сих пор хз куда это все пихать чтоб работало, ну, если бы оно было написано

Не похоже на редактор на пикче
Аноним 09/11/21 Втр 14:09:47 25759337167
Анон, это ты тут создавал треды быстрого вката вайти? Хотел сказать тебе спасибо за то что сподвиг меня взять себя в руки и начать учиться. Так-то я сам уже вайти и база имеется, но так как не учусь - не двигаюсь дальше.

За неделю познакомился с ansible и git, начал docker, кручу-верчу виртуалки, контейнеры, и свою собственную википедию, куда конспектирую. Планирую до весны дрочить около-смежные темы, а весной попробовать вкатиться куда-нибудь джуном-девопсом или сорт оф.
Аноним 09/11/21 Втр 14:32:38 25759452268
Настройки X
Ответить в тред X
15000
Макс объем: 20Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
X
Ваш шидевор X
Стикеры X
Избранное / Топ тредов