steinkrauz - Запретите уже Си

> Recent Entries
> Archive
> Friends
> User Info

February 4th, 2022


Previous Entry Add to Memories Tell A Friend Next Entry
08:59 pm - Запретите уже Си
Потому что у меня лапки и я в Си не могу.

Полдня исправлял странный баг, при котором документ с одной привязкой отображался в системе нормально, а с двумя и более — рушил всё намертво. А оказалось совершенно элементарно, я написал
*docs[i++] = sp_tags[j];


вместо того, чтобы
(*docs)[i++] = sp_tags[j];


Ну да, забыл про приоритеты.

В общем, заберите нах это пакость, где ссылки на ссылки на куски памяти передают, и дайте с нормальными контейнерами подеградировать.

(15 comments | Leave a comment)

Comments:


From:(Anonymous)
Date:February 4th, 2022 - 02:56 pm
(Link)
кекмар бы такой ошибки не допустил.
но и ему нечего кушать
[User Picture]
From:[info]steinkrauz
Date:February 4th, 2022 - 03:26 pm
(Link)
Так у Кетмара вообще талант к этому делу.

И так как он всё ещё пишет код, кушать у него таки есть что.
From:(Anonymous)
Date:February 4th, 2022 - 04:04 pm
(Link)
Кушает он потому что мамка жива и поэтому пенсия. А вот будет он кушать в 2022 или нет - зависит от победы мирового эльфокоммунизьма. Ну или от здоровья мамаши
From:(Anonymous)
Date:February 4th, 2022 - 04:58 pm
(Link)
А Кетмар себе пенсию не может оформить? Ему наверняка лет много уже.
From:(Anonymous)
Date:February 4th, 2022 - 05:02 pm
(Link)
но он же не работал нигде, оч маленькая пенсия, даже у деце побольше - а и тот лучок ест, да и спальню красивую обустроил
From:(Anonymous)
Date:February 4th, 2022 - 06:18 pm

/b

(Link)
Г Е Й Ш Л Ю Х А
Е
Й
Ш
Л
Ю
Х
А
From:(Anonymous)
Date:February 4th, 2022 - 06:32 pm
(Link)
Ну как, много? Лет сорок с хуем емнип. До пенсии много раз успеет с голодухи помереть. Разве что по больной головушке пенсия, у него вроде с кукухой не все ок вдобавок.
From:(Anonymous)
Date:February 5th, 2022 - 04:17 am
(Link)
пол украины таких - децел, кекмор, а работает один хуйнер! да и тот кабинки моет. откуда пенсия?
From:(Anonymous)
Date:February 4th, 2022 - 05:24 pm
(Link)
выглядит очень страшно.

я очень извиняюсь, а можно объяснить, в чём разница в этих двух случаях?

я чуть-чуть писал на этом С, совсем чуть-чуть. очень охуевал от этих штук.
[User Picture]
From:[info]steinkrauz
Date:February 4th, 2022 - 06:17 pm
(Link)
Ну смотри, docs у нас имеет тип (void **), то есть указатель на массив.
Оператор [], обращение к элементу массива, имеет больший приоритет, чем оператор *, разыменование указателя.
Таким образом, в первой строчке мы берём указатель на массив, увеличиваем его на размер индекса, и разыменовываем то, что получилось по этому новому указателю.
Поэтому, для случая, когда i===0, всё работало. Прибавление нуля ничего не меняло, мы получали указатель на начало массива, и прекрасно его заполняли. А вот когда i становилось равно 1 и больше, сдвинутый указатель начинал смотреть хер знает куда, и при попытке туда писнуть всё падало.

Со скобками же ситуация меняется. Мы сначала разыменовываем указатель на массив, и дальше спокойно обращаемся по индексу к его элементам. Всё работает, ничего не падает, пользователи кидают чепчики в воздух.
From:(Anonymous)
Date:February 4th, 2022 - 06:30 pm
(Link)
очень извиняюсь опять же, а почему в данном (или в любом другом) случае следует обращаться к элементам массива таким образом? например, в правой стороне присваивания обращение к элементу массива sp_tags[j] происходит без этих технических сложностей.
[User Picture]
From:[info]steinkrauz
Date:February 4th, 2022 - 06:48 pm
(Link)
Потому что я пишу не для собственного удовольствия, а в рамках некоего API.
Со стороны этого API мне выдаётся указатель на целое, куда я должен положить размер массива, и указатель на массив, куда я должен положить собственно массив. Вот из-за этого и происходит цирк.

Это ещё ничего, иногда там приходится и с тройными указателями работать, но я это пока что успешно избегаю.
From:(Anonymous)
Date:February 4th, 2022 - 07:43 pm
(Link)
кажется, понял. вместо целого пустого массива апи отдает указатель на массив и на целое для размера. спасибо за объяснения.
From:(Anonymous)
Date:February 5th, 2022 - 12:15 pm
(Link)
>Запретите уже Си

здравое предложение, виннипух должен уйти
From:(Anonymous)
Date:February 5th, 2022 - 06:46 pm
(Link)
На Си всегда хочется этак кратенько изъебнуться, вот как в этом случае. Результаты обычно не замедляют себя ждать. Зато в одну строчку вместо двух уложился.

> Go to Top
LJ.Rossia.org