- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
#include <iostream>
class Pituh {
public:
static void SetInstance(Pituh* pet) {
Instance_ = pet;
}
static Pituh& Instance() {
return *Instance_;
}
void kok() {
std::cout << "kok" << std::endl;
}
private:
static Pituh* Instance_;
};
#define KOK Pituh::Instance()
Pituh* Pituh::Instance_ = nullptr;
int main() {
Pituh pet;
KOK.SetInstance(&pet);
KOK.kok();
}
Steve_Brown 26.08.2022 15:33 # 0
guest6 26.08.2022 18:39 # 0
Во что там превращается ссылка?
guest6 26.08.2022 16:45 # 0
guest6 26.08.2022 18:28 # 0
guest6 26.08.2022 18:37 # 0
Steve_Brown 26.08.2022 18:42 # 0
guest6 26.08.2022 18:44 # 0
bormand 03.09.2022 09:39 # 0
Санитайзер что ли включен?
bormand 03.09.2022 09:45 # 0
Ага, с -fsanitize=undefined действительно ловится.
guest6 03.09.2022 12:33 # 0
guest6 03.09.2022 12:32 # 0
bormand 03.09.2022 12:57 # 0
guest6 03.09.2022 13:04 # 0
bormand 03.09.2022 13:15 # 0
guest6 03.09.2022 16:57 # 0
bormand 03.09.2022 21:35 # 0
guest6 26.08.2022 18:46 # 0
раскрой строку 27
что вернет Instance?
на строке 10 будет бадабум
Steve_Brown 26.08.2022 20:48 # 0
Хотя при разыменовании указателя в ссылку компилятор не обязан проверять на ноль, так что такое только в дебаге может выплыть, где доп.проверки вместо перформанса.
guest6 26.08.2022 20:51 # 0
нулевой указатель это УБ при попытке его разыменовать (ну или хардварная защита процессора в случае, если компилятор не атловил)
> в ссылку
а что, есть какой-то особый случай: разыменовывание в ссылку?
Алсо, ссылка нулевой не бывает
Ссылка на нул это тоже УБ
Steve_Brown 29.08.2022 12:05 # 0
Наоборот. Конечно, свинтаксически и семантически ссылка и указатель - разные вещи, но... мы же всё понимаем, и на самом деле это одно и то же. Так что разыменование в ссылку - это вообще не разыменование, там ничего не происходит. Ну разве что в дебаг-версии вставлена дополнительная проверка на null.
guest6 29.08.2022 16:15 # 0
При превращении указателя на нул в ссылу можно ничего не разыменовывать на самом деле, потому в реальной жизни может ничего и не упасть, но поскольку по стандарту это УБ, то компилятор может понять, что там null, и просто выкинуть код
Soul_re@ver 29.08.2022 18:19 # +1
guest6 29.08.2022 18:21 # 0
мну и написал выше
>
Алсо, ссылка нулевой не бывает
Ссылка на нул это тоже УБ
>
nyTuH_nugop 29.08.2022 13:48 # 0
Steve_Brown 29.08.2022 16:12 # 0
guest6 29.08.2022 16:18 # 0
nyTuH_nugop 29.08.2022 18:07 # 0
CHayT 29.08.2022 18:11 # 0
guest6 29.08.2022 18:18 # 0
CHayT 29.08.2022 18:21 # 0
HACTEHbKA 12.09.2022 18:12 # +1
аргумент был в пользу обратново обхода моссива
не могу найти тот коментарей гуглеца только новае https://govnokod.ru/27255#comment609585
P.S. Привет, ГК. Рада была заглянуть. Ну тогда, я надеюсь, до следующей встречи через несколько месяцев!
guest6 12.09.2022 18:15 # 0
Soul_re@ver 12.09.2022 18:32 # 0
Alina_Poksenova 04.12.2022 16:31 # −1
Soul_re@ver 29.08.2022 18:21 # 0
-1 — Нет такого указателя
-2 — Память недоступна
-3 — Недостаточно привелегий.
...
-418 — это, вообще-то, чайник.
nyTuH_nugop 29.08.2022 19:12 # 0
В тред призывается j123134, мне любопытно какие ебмедные стереотипы юзаются, чтобы size main memory.
Fike 29.08.2022 19:14 # 0
bormand 12.09.2022 20:58 # 0
-404 page fault
guest6 12.09.2022 21:00 # 0
тонко
Steve_Brown 29.08.2022 18:18 # 0
Как я понял, нужно было сделать, чтобы нуллябельность задавалась явно, т.е. по умолчанию указатель пустым быть не может.
guest6 29.08.2022 18:19 # −1
Steve_Brown 29.08.2022 19:15 # 0
guest6 29.08.2022 19:25 # 0
В ЙАЖА, кстати, ссылка называется то ссылкой, то указателем: они никак не могут определиться. В C# это, кажется, всегда ссылка. В перле -- тоже
>нужно сразу иници
Это и проистекает из невозможности иметь нуль.
А еще ссылка удобно обмазана сахаром, чтобы не писать везде &, * и ->
Steve_Brown 29.08.2022 20:29 # 0
>Это и проистекает из невозможности иметь нуль.
Не вижу связи. В шарпе бы проистекало, а в С++ можно было бы сделать и мутабельные ссылки.
(предположим, мы не можем по каким-то причинам инициализировать через двоеточие)
guest6 29.08.2022 20:32 # 0
то есть обращение к ним это УБ, верно?
Ты не можешь занулить ссылку по умолчанию: это будет лишнее дейстие, не бесплатное
ISO 29.08.2022 20:39 # 0
Что должна вызывать эта строка?
nyTuH_nugop 29.08.2022 20:41 # +4
guest6 29.08.2022 20:43 # 0
Если это первое обращение к ссылке, то инициализация
Если второе, то ошибку компиляции
Как final в ЙАЖА.
ps: любые сомнения трактуются в пользу ошибки компиляции
ISO 29.08.2022 20:49 # 0
Только есть проблема: присвоение неконстантной ссылке, благодаря «А еще ссылка удобно обмазана сахаром, чтобы не писать везде &, * и ->» — это полностью валидная операция:
https://gcc.godbolt.org/z/e4Ef48PfM
guest6 29.08.2022 20:51 # +1
Если я могу прозрачно вызвать по ссылке оператор плюс, то почему не могу вызвать присваивание?)
Ну по идее можно конечно вызывать присваивание второй раз, но тогда конечно будет ад (а еще это не отвалидировать статически нормально)
Тогда пускай Стив со своей выдумкой сам разбирается
ISO 29.08.2022 20:54 # 0
На это и был расчёт, да:
guest6 29.08.2022 20:55 # 0
ISO 29.08.2022 21:00 # 0
guest6 29.08.2022 21:01 # 0
а нет
просто не скомпилица, и все
попробуй, убери other value
ISO 29.08.2022 21:03 # 0
guest6 29.08.2022 21:10 # 0
ISO 29.08.2022 21:23 # 0
guest6 29.08.2022 21:42 # 0
guest6 29.08.2022 20:52 # 0
guest6 29.08.2022 20:54 # +1
Я думаю, что если он ловко переопределит оператор присваивания, то беды не случится
чото я затупил: а по умолчанию же присваивание просто перезапишет свыню для тупых типов?
ISO 29.08.2022 20:59 # 0
Да.
ISO 29.08.2022 20:55 # 0
guest6 29.08.2022 20:58 # 0
ISO 29.08.2022 20:59 # 0
guest6 29.08.2022 20:59 # +1
тоже работает благодаря возврату ссылки
guest6 29.08.2022 21:00 # 0
Steve_Brown 29.08.2022 21:04 # +1
В общем, лучше не надо.
ISO 29.08.2022 21:23 # +1
guest6 29.08.2022 21:47 # 0
Там, правда, есть сахар чтобы не разыменовывать вручную при обращении к полям (как и в говне)
guest6 29.08.2022 20:47 # +2
Вообще, есть такой философский момент, Страус его пояснял в своей книге.
Указатель это отдельная независимая сущность. Объект.
А ссылка это не сущность. Не объект, это просто способ обращения к объекту. Ссылки не существует без объекта, на который она указывает.
и думать о ней нужно именно так: ты не со ссылкой работаешь, ты работаешь с объектом по ссылке.
Указатель сам по себе
А ссылка это тень от объекта)
тут и далее: объект не ООПарашна, а объект в сишном понимании: некий артефакт в памяти
Fike 29.08.2022 18:19 # 0
guest6 29.08.2022 18:20 # 0
Null object?
CHayT 30.08.2022 17:38 # 0
Если тебе в функцию прилетает питушня в специальной обёртке, то ты обязан проверить её на неопределённость, т.к. это контракт, говорящий тебе, что питушни может и не быть. Эта проверка на непределённость паттерн-матчингом даёт тебе конструктивный пруф, что в одной из веток исполнения питушня определена.
Так всё работает в языках нормального человека, конечно, а не в джавапараше и производных.
guest6 30.08.2022 17:42 # 0
Ты получаешь Result, и обязан его пттрнматчнуть. Там либо ненулевой результат, либо залупа конская
В самой яже никак тк нет нулсейфти
CHayT 30.08.2022 17:50 # +1
Ты что, на яже напрограммировал?! Ой мудак... И maybe весь засрал. Иди под haskell мойся! Чтобы без нуллов был!
guest6 30.08.2022 17:53 # 0
Fike 30.08.2022 18:09 # 0
guest6 30.08.2022 18:14 # 0
что там грохнется, если оно тупо не скомпилица?
Fike 30.08.2022 18:45 # 0
там недавно был мемес про четыре стадии улучшения кода с эксепшенами на хаскелле, который вернулся к эксепшенам
Вы мне сейчас про то что там в промежуточных функциях будет case Just -> ... и Nothing -> Nothing. Я вам про то, что если программисту пришло Maybe и там по его мнению обязано быть значение - например, потому что в общем случае может вернуться Nothing, а в частном Just, и выше по коду отсекаются все другие случаи - то мы находимся в ровно той же ситуации. Здесь у программиста всего два варианта:
- Сделать вид, что Nothing не может существовать, например кинув туда тот самый эррор
- Сделать код, который допускает Nothing и не следует тому, что от него требуют
Проблема вообще не в языке. Проблема в ситуации, когда значение должно присутствовать - либо по ошибочному мнению программиста, либо по контракту - но оно отсутствует, либо потому что программист не все вводные просчитал, либо потому что контракт нарушен.
guest6 30.08.2022 18:50 # 0
то он пидор
Это из серии
Fike 30.08.2022 19:06 # 0
- На увожаемом микросервисном веб-портале есть реклама
- Для каждой страницы может быть или не быть свой баннер
- Оно пропускает через функционал а/б тестирования, которое может заменить или убрать баннер
- У платных падпищеков реклама отключена
- Но на главной баннер должен быть всегда вне зависимости от фильтров выше
Мы получаем цепочку типа (нет, не ждите от меня хаскель-синтаксиса)
adService.getBannerFor(route)
.flatMap(experimentationService.mapBanne r)
.filter(banner -> userService.showBannner(banner, route))
Фронтенд-петух или гейтвей-петух пишет обработчик главной. Согласно контракту, на главной баннер быть обязан, но если кто-то из вышестоящих петухов проебался, то он получит неожиданное поведение. В этом случае он не пидор. Но эта ситуация сама по себе уничтожима только созданием отдельного getBannerForHome() с гарантированным тем или иным образом значением, что применимо только к ограниченному количеству ситуаций.
guest6 30.08.2022 19:20 # 0
Наш фронтэнд питух ничего про это знать не должен.
Если производитель процессора проебался, и при обращении к валидной памяти бросил исключение, то я не обязан это обрабатывать
Кто нарушил контракт -- тот и пидор
Кто нарушил контракт -- тот и пидор
Кто нарушил контракт -- тот и пидор
Кто нарушил контракт -- тот и пидор
CHayT 30.08.2022 19:24 # 0
Согласно контракту (устному)...
Напомнило древний мем гейдев.ру про "устный договор": https://gamedev.ru/flame/forum/?id=139100
Дело в том, что если контракты у тебя в коде не выражены в виде типов, то ты неправильно используешь говнады и maybe, и занимаешься карго-культом.
CHayT 30.08.2022 19:38 # 0
Если какая-то функция не ожидает Nothing "по контракту", то она как аргумент должна принимать не `Maybe x` а чистый `x`. Пусть вызывающий её ебётся с обработкой ошибок (тупо залифтив в монаду, например).
А принимать Maybe и рассчитывать(!) что вызывающий(!) функцию никогда не положит туда Nothing — это оставлять сюрприз тому, кто в будущем вызовет твою функцию где-то ещё. Какой-то постмодернистский уровень ротоёбства.
Fike 30.08.2022 19:42 # 0
Desktop 30.08.2022 19:45 # 0
Fike 30.08.2022 19:52 # 0
Soul_re@ver 30.08.2022 19:55 # 0
Было: фукция, принимающая maybe из другой функции, и рассчитывающая, что там всегда будет значаение и творящая хуйню в случае его отсутствия, потому что этого быть не может.
Стало: функция, принимающая значение и функция, принимающая maybe из другой функции, в случае существования значения вызывающая первую функцию, а в случае отсутствия творящая всякую хуйню, потому что этого быть не может.
Разруха, она в головах, не в языке.
guest6 30.08.2022 20:07 # 0
так не твори хуйню, ну
Мейби хотя бы заставляет тебя явно сказать: "я творю зуйню" а в говноязычках и этого нет
CHayT 30.08.2022 20:10 # +1
> И толку с этого?
Функция — это законченная единица кода, то есть то, что можно в теории реюзать.
Если у тебя настолько идиотская бизнес логика, что в каком-то месте нужно творить хуйню, то хуйню в коде надо творить как можно ближе к логическому источнику хуйни.
ISO 30.08.2022 20:18 # +1
guest6 30.08.2022 20:21 # +1
У молодых, динамично развивающихся смузихлёбов, по ресту просто приходит JSON
Steve_Brown 30.08.2022 19:55 # +2
guest6 30.08.2022 20:05 # 0
в Йажа для чекд исключений такой проблемы нет
ISO 30.08.2022 20:16 # 0
guest6 30.08.2022 20:19 # 0
Хуево потому, что даже для неприхотливого жаваеба оно настолько вербозное, что просто даже не смешно. Пальцы заболят и будет артрит, если постоянно пользоваться чекд исключениями.
Но с другой стороны, оно хотя бы есть. В некоторых других языках и такого нету.
Разумеется, Maybe в охулион раз лучше решает ту же самую проблему
CHayT 30.08.2022 20:35 # +2
guest6 30.08.2022 20:52 # 0
CHayT 30.08.2022 20:24 # +1
Desktop 30.08.2022 21:06 # 0
Soul_re@ver 30.08.2022 18:50 # 0
guest6 30.08.2022 18:54 # +1
А наверху написать: "Произошла неизвестная ошибка, а больше мы ничего сказать не можем, потому что контекст проебан. Можете попробовать sfc /scannow, нам однажды помогло"
CHayT 30.08.2022 19:12 # 0
То его мнение никого не волнует. Coq/Agda ему ещё ошибкой по жопе дадут, если он своё мнение попытается высказать.
> и выше по коду отсекаются все другие случаи
Пусть "выше по коду" передаёт нам чистое значение, если там действительно все случаи отсечены. Если ты такой молодец и обработал Nothing — работай с чистым значением.
> Здесь у программиста всего два варианта:
Пиздец. Здесь всего один вариант: сделать дальнейшие вычисления чистыми и за-fmap-ить их в Maybe. Короче, я не знаю, откуда ты берёшь свои мемесы, но смени дилера. Твой в haskell вообще не в зуб ногой.
CHayT 30.08.2022 18:31 # 0
P.S. Копипаста была заготовлена как раз для этого ответа.
guest6 30.08.2022 18:38 # 0
guest6 03.09.2022 16:58 # 0
меня всегда пугают такие фразы
--Чувак, у тебя тут гонки по мемори модел
--Ой, да в реальной жизни никогда не случится
--Чувак, у тебя тут UB по стандарту
--Ой, да в реальной жиз..
а потом люди погибают
ISO 03.09.2022 17:14 # 0
— здесь наступление UB возможно, но происходит оно не для всех веток исполнения: если пользователь вводит только 0, 1 или 2 — программа полностью валидна и корректна. Это можно считать «потенциальным UB».
guest6 03.09.2022 17:17 # 0
guest6 03.09.2022 17:18 # +2
вы, главное, компилятор не обновляйте
guest6 03.09.2022 17:19 # 0
guest6 03.09.2022 17:21 # 0
guest6 03.09.2022 17:26 # 0
guest6 03.09.2022 20:10 # 0
guest6 03.09.2022 17:17 # 0
хотя за неочищенный пользовательский ввод всё равно нужно бить по рукам
guest6 26.08.2022 18:33 # 0
Это ты про kok? Нашёл до чего доебаться
guest6 26.08.2022 18:36 # 0
guest6 26.08.2022 18:40 # 0
guest6 26.08.2022 18:45 # 0
не слушай меня
guest6 26.08.2022 18:35 # 0
guest6 26.08.2022 20:50 # 0
Петуха (уж коли он один на всю систему) я бы сделал локальной статической переменной
нельзя как-то
или у тебя питух размером с терабайт, и живет в куче?
ISO 26.08.2022 20:55 # 0
Однако нужно понимать, что в этом случае компилятору придётся генерировать дополнительный код, гарантирующий потокобезопасную и строго-однократную инициализацию такого петуха. Если ты получаешь петухов миллиард раз в секунду — локальная статическая пельменная может ударить по производительности.
guest6 26.08.2022 20:59 # 0
А если я сделаю глобальную пельменную (она инициализируется вроде до первого запуска первой функции модуля) то компилятору не надо будет каждый раз проверять, что она тнициализирована же?
ISO 26.08.2022 21:17 # +1
Стандарт гарантирует, что локальная статическая пельменная будет инициализирована строго один раз, даже если её дёргают из нескольких потоков. Про то, как это реализовать, Стандарт не говорит, разумеется, но на практике компилятору придётся вставлять туда какой-то примитив синхронизации.
> А если я сделаю глобальную пельменную (она инициализируется вроде до первого запуска первой функции модуля) то компилятору не надо будет каждый раз проверять, что она тнициализирована же?
Не помню, как это реализовано, но не придётся.
Реальный пример:
https://gcc.godbolt.org/z/z6KsTr99q
Обратите внимание, как распидорасило бедную foo.
guest6 26.08.2022 21:23 # 0
А КАК ЖЕ "НЕ ПЛАТИ ЗА ТО ЧТО НИИСПОЛЬЗУЕШ"??
А вот Мейеру похуй на оверхед
https://laristra.github.io/flecsi/src/developer-guide/patterns/meyers_singleton.html
>распидаорасило
вижу, вижу guard variable
guest6 26.08.2022 21:29 # 0
ISO 26.08.2022 21:32 # 0
guest6 26.08.2022 21:35 # 0
guest6 26.08.2022 21:38 # 0
guest6 26.08.2022 21:43 # 0
guest6 26.08.2022 21:47 # 0
Если объект у тебя не кидается исключениями из колнструктора и теюе не нужна ленивость, то можно сделать его статическим нелокальным и сразу на месте инициализировать
guest6 26.08.2022 21:36 # 0
Совершенно не очевидно, почему вдруг именно это место надо сделать потокобезопасным
На всякий случай? А добавление в вектор у меня потокобезопасное? Не надо ли и его тоже потокобезопасным сделать?
ISO 26.08.2022 21:49 # +1
* Без учёта багов в компиляторе и static initialization order fiasco.
guest6 26.08.2022 21:53 # 0
guest6 26.08.2022 21:53 # 0
а напмони, у ей деструктор вызывается при корректном завершении программы? а в кококококм порядке? Обратном их созданию?
ISO 26.08.2022 21:59 # 0
kcalbCube 02.09.2022 20:01 # 0
ISO 26.08.2022 21:30 # 0
> А вот Мейеру похуй на оверхед
Там это в явном виде написано:
>>> If control enters the declaration concurrently while the variable is being initialized, the concurrent execution shall wait for completion of the initialization.
И считается не оверхедом, но плюсом:
>>> Using this pattern guarantees that the single type instance is available at any point during execution, and that it will be properly destroyed. This pattern also insures thread-safe initialization.
guest6 01.09.2022 03:52 # 0
https://www.bbc.com/worklife/article/20220405-single-shaming-why-people-jump-to-judge-the-un-partnered
Soul_re@ver 26.08.2022 21:44 # +1
Вывод: не дрочи получение инстанса синглтона по 50 раз на строку. Взял ссылку, сохранил, и пользуйся.
guest6 26.08.2022 18:52 # 0
Боженька наказал тебя за неконсистеность. Возвращал бы указатель -- горя бы не знал
ISO 26.08.2022 20:09 # 0
> return *Instance_;
Делать «*Instance_» при nullptr в Instance_ — всегда UB, даже если ты просто разместил объяву возвращаешь ссылку, даже если потом зовёшь на ней только static-методы.
guest6 26.08.2022 20:24 # 0
guest6 26.08.2022 20:47 # 0
guest6 26.08.2022 21:04 # 0
bootcamp_dropout 26.08.2022 21:09 # 0
guest6 26.08.2022 21:15 # 0
почему тогда все пишут свое трехугольное колесо, и обсираются?
bootcamp_dropout 27.08.2022 00:10 # 0
guest6 29.08.2022 21:23 # 0
Fike 26.08.2022 21:13 # 0
j123123 30.08.2022 04:38 # 0
А что такого особенного и сложного в этом? Ну типа в Си в отдельном .c файле (в отдельной специальной единице трансляции) объявить некую структуру. Потом сделать одну глобальную статическую переменную с этим вот типом, и в тот же файл насрать каких-то функций, которые с этой глобальной статической переменной какую-то хуйню делают. Ну и все собственно, можно дергать эти видимые снаружи функции, которые только с вот той хуйней и работают. Тут даже кресты нахуй не нужны
Steve_Brown 30.08.2022 11:42 # +1
j123123 31.08.2022 15:32 # 0
Может быть давайте тогда еще называть паттерном оператор goto который выпрыгивает из цикла? Или давайте назовем паттерном ситуацию, когда в функцию передается указатель на некую функцию, и та функция потом ее вызывает? По какому критерию что-то там называют словом "паттерн"?
guest6 31.08.2022 15:52 # 0
Питух видит стандатное GetInstance и сразу помнимает, что это синглтон, а не какая-то мутная поебень.
guest6 31.08.2022 16:02 # 0
Это паттерн "стратегия"
Soul_re@ver 31.08.2022 20:43 # 0
К примеру Медиатор:
Если есть отношение «многие к многим», его можно превратить в 2 «один ко многим» вставив посредника посередине.
Всё. Всё остальное — вода и графомания.
guest6 31.08.2022 20:46 # 0
Soul_re@ver 31.08.2022 21:05 # 0
Повторяющиеся неизменяемые части можно хранить отдельно в единственном экземпляре, ссылаясь на них в объектах.
> визитор
Выполнение разного кода для разных конкретных типов оперируя над базовым типом через создание нескольких методов для разных типов в классе-посетителе и выбирая нужный через double dispatch.
Soul_re@ver 31.08.2022 21:13 # 0
(покрывает случаи без наследования, типа std::variant в крестах)
j123123 01.09.2022 05:23 # 0
Тогда к паттерну можно отнести например цикл for. Или while. Или рекурсию. Но почему-то это не называют паттерном. Почему?
nyTuH_nugop 01.09.2022 07:39 # 0
ISO 01.09.2022 09:29 # 0
kcalbCubinho 01.09.2022 09:49 # 0
j123123 01.09.2022 10:14 # 0
Desktop 01.09.2022 11:15 # 0
j123123 01.09.2022 11:32 # 0
guest6 01.09.2022 15:11 # +1
bormand 01.09.2022 18:06 # +1
> синтаксическая конструкция
Т.е. "паттерн" -- это архитектурное решение, которое нельзя выразить существующей конструкцией конкретного языка?
З.Ы. Логично. Если у меня в "ассемблере" нету никаких циклов, то я юзаю паттерн из нескольких инструкций.
guest6 01.09.2022 18:14 # 0
С тех пор, как в языке появились итераторы, необходимость в этом паттерне отпала
nyTuH_nugop 01.09.2022 04:08 # 0
guest6 31.08.2022 16:02 # 0
j123123 31.08.2022 16:12 # 0
А зачем? Нахуя это нужно?
> но без лишних проверок на каждое получение
А в крестах это как решается? Мне что-то подсказывает, что задача "найти первое место в программе, где упоминается синглтон, и вот в этом месте его и создать, чтобы никаких проверок при последующих обращениях (а не создали ли мы еще синглтон, если не создали, то создадим) не было" является в общем случае неразрешимой т.к. сводится к проблеме останова
j123123 31.08.2022 16:19 # 0
bormand 31.08.2022 21:37 # 0
Линуксячий лоадер, емнип, при первом вызове функции ищет в сошках через подобную механику.
guest6 31.08.2022 16:23 # 0
Потому что в крестах есть конструктор, и создание объекта может оказаться лишним действием
>А в крестах это как решается?
Как мы недавно узнали--никак)
kcalbCube 02.09.2022 20:05 # 0
Steve_Brown 31.08.2022 16:13 # 0
j123123 31.08.2022 16:19 # 0
j123123 31.08.2022 16:25 # +5
Только такую хуйню надо будет на ассемблере херачить.
ISO 31.08.2022 20:02 # 0
Въебал плюсю.
guest6 31.08.2022 20:05 # 0
Soul_re@ver 31.08.2022 20:32 # 0
guest6 31.08.2022 20:36 # 0
Кто-то насрал в DI, и надо его почистить?
Soul_re@ver 31.08.2022 20:38 # 0
Лежащих внутри системных DLL.
> Кто-то насрал в DI, и надо его почистить?
Нет. Подсказываю: это одна инструкция размеров в 2 байта, не делающая нихуя.
guest6 31.08.2022 20:40 # 0
kernel32? user32? advapi?
>нихуя
а, я в шары долблюсь, видимо
mov, а не xor.
Чтобы насрать что-то поверх нее?
Soul_re@ver 31.08.2022 20:47 # 0
Да, в эти два байта пихается короткий джамп на нормальный джамп, который ведёт на замену этой функции, чтобы обновлять библиотеки прямо в памяти.
guest6 31.08.2022 20:49 # 0
я уж скорее подумал бы про minwin, когда там функция лежит черте где
вот это всё
bormand 31.08.2022 20:49 # 0
guest6 31.08.2022 20:52 # 0
муху CC вставлять что ли?)
bormand 31.08.2022 20:57 # 0
Fike 31.08.2022 20:47 # 0
ISO 31.08.2022 20:40 # 0
bormand 31.08.2022 21:55 # 0
bormand 31.08.2022 20:48 # 0
Нинужно т.к. работает только в вырожденных кейсах без аргументов. Как только появится аргумент -- начинаются проблемы.
guest6 31.08.2022 20:52 # 0
проблемы когда там исключение летит или когда аргумент конструктора в компайл тайме не посчитать
bormand 31.08.2022 20:58 # 0
guest6 31.08.2022 21:01 # 0
а разве это не есть "ленивый"?
bormand 31.08.2022 21:07 # 0
guest6 31.08.2022 21:10 # 0
>или когда аргумент конструктора в компайл тайме не посчитать
guest6 31.08.2022 20:59 # 0
guest6 29.08.2022 20:31 # 0
https://twitter.com/netovetz/status/1562957554321240065?cxt=HHwWgsClhazn3rAr AAAA
CHayT 29.08.2022 20:59 # 0
guest6 29.08.2022 21:20 # 0
https://nitter.fdn.fr/subzey/status/951429004095082496
nyTuH_nugop 30.08.2022 05:00 # 0
> должно оставаться в твиттере
Это про поносы, мисгендеринг и прочий новодел бес души.
Вообще если подумать, то без президента Дональда Трампа никакого птичера, 44 лярдов ботов и прочего не было бы.
guest6 29.08.2022 22:51 # 0
guest6 30.08.2022 18:40 # 0
https://razrabs.ru/post/99d329da-a0a4-489b-85db-eeb41e6b02db
Fike 30.08.2022 19:11 # 0
upd. ну кто блядь так форматирует?
upd2.
Бизнес же что делает, он говорит — эй, Фил, вот ты тупой шарпист ... В это же самое время, тот же бизнес решил, что одним десктопом сыт не будешь, и кроме тупых шарпистов нужны ещё тупые свифтисты, тупые джависты, и ещё более тупые фронтендеры.
Ctrl + F maui: 0 результатов
Ctrl + F xamarin: 0 результатов
Ctrl + F avalonia: 0 результатов
guest6 30.08.2022 19:21 # 0
guest6 30.08.2022 19:22 # 0
Я только ща понял: это же ебучий графоман с хабра, который по четыре статьи в неделю высирал? Филл девелопер или фил программер как там его?
ISO 30.08.2022 19:23 # 0
И не просто по четыре статьи, а по четыре адски разжигающих статьи: https://habr.com/ru/users/fillpackart/.
Fike 30.08.2022 19:25 # 0
guest6 30.08.2022 20:10 # 0
.росто сходу вычеркиваю их, не веду с ними никаких дел, и ни при каких обстоятельствах ничем не стану им помогать. И всех вокруг всю жизнь буду убеждать поступать так же
Desktop 30.08.2022 20:59 # 0
guest6 30.08.2022 21:07 # 0
guest6 30.08.2022 21:10 # 0
guest6 30.08.2022 21:10 # 0
guest6 30.08.2022 21:11 # 0
guest6 30.08.2022 21:11 # 0
надо отдохнуть
guest6 30.08.2022 21:12 # 0
guest6 30.08.2022 21:33 # 0
Desktop 01.09.2022 18:26 # 0
Fike 30.08.2022 21:06 # 0
https://twitter.com/fillpackart2/status/1564669399092666369
Desktop 30.08.2022 21:07 # 0
Steve_Brown 31.08.2022 16:36 # 0
Стиральная машина это тот еще агрегат. Есть крутилка, на которой одна программа для одежды, другая для загрязнений; третья быстрая, четвертая легкая; пятая обычная, шестая повседневная; и между ними несколько отжимов. И это еще если прочитать инструкцию. Если не читать, то вообще https://pikabu.ru/story/kak_v_ney_stirat_1598525 .
Fike 31.08.2022 17:09 # 0
guest6 31.08.2022 17:19 # 0
guest6 01.09.2022 01:06 # 0
Desktop 01.09.2022 18:25 # 0
JlAKOMKA 31.08.2022 17:15 # 0
guest6 30.08.2022 21:33 # −1
https://twitter.com/Mika_venerovna
Desktop 30.08.2022 22:18 # 0
ISO 30.08.2022 22:37 # 0
guest6 30.08.2022 22:40 # +1
все только гыгыкать могут?
guest6 31.08.2022 16:42 # 0
Fike 31.08.2022 17:11 # 0
nyTuH_nugop 01.09.2022 00:45 # 0
> гуся
guest6 01.09.2022 00:54 # 0
что делая?
Soul_re@ver 01.09.2022 00:57 # 0
guest6 01.09.2022 01:00 # 0
nyTuH_nugop 01.09.2022 01:28 # 0
guest6 01.09.2022 01:35 # 0
guest6 01.09.2022 01:57 # 0
Banana.
Hammer.
Mushroom. ...
Cucumber. ...
Pencil. ...
фу бля
фу нахуй
Desktop 01.09.2022 18:22 # 0
nyTuH_nugop 01.09.2022 01:27 # 0
guest6 01.09.2022 01:04 # 0
думаю потому, что оно из ра-ш-к-и
guest6 01.09.2022 01:06 # 0
guest6 31.08.2022 16:58 # 0
guest6 01.09.2022 02:22 # 0
Бля ребят, если вас так сильно это беспокоит, ваша проблема не во мне нихуя
Здоровому человеку должно быть похуй, что о нем думает напыщенный тупой айтишник
guest6 01.09.2022 02:22 # 0
Так бы жили себе на ебучие страшные копейки и бед не знали бы
Жалко сраный Фил всё испортил и сказал что это не жизнь нихуя
guest6 01.09.2022 02:22 # 0
guest6 01.09.2022 02:22 # 0
Desktop 01.09.2022 18:22 # 0
Desktop 01.09.2022 18:30 # 0
bormand 01.09.2022 18:33 # 0
Desktop 01.09.2022 18:35 # 0
bormand 01.09.2022 18:36 # 0
Так то твой вариант логичнее -- вся иерархия в правильном порядке получается. Джавка его юзает именно по этой причине.
Desktop 01.09.2022 18:40 # +1
Once you try to map a hierarchal structure into a linear name space, you have to choose an ordering scheme. The DNS chose to put the “root” to the right, kind of like “little endian” binary schemes used in some CPUs. The United Kingdom once had an academic network with a naming scheme that put the top level to the left. I.e.: “www.register.co.uk” would have been “co.register.www” (because it was a UK-only scheme, “uk.” wasn’t needed to the left.)
UUNET had it’s own kind of naming scheme that was also a kind of routing scheme. There wasn’t a hierarchy at all. BITNET never grew large enough to need a non-flat name space.
It’s arbitrary. Pick a scheme and stick to it.
guest6 01.09.2022 18:46 # 0
guest6 01.09.2022 18:47 # 0
Rooster 04.09.2022 11:44 # 0
nyTuH_nugop 04.09.2022 12:18 # 0
Support 04.09.2022 20:02 # 0
guest6 01.09.2022 18:37 # +1
В usenet и fido было бы именно так
guest6 01.09.2022 19:11 # 0
guest6 01.09.2022 19:23 # 0
Это каждый петух знает
bormand 01.09.2022 19:25 # 0
Птица срёт там где пролетает.
KOHCOjlbHblu_nemyx 01.09.2022 20:43 # 0
Desktop 01.09.2022 20:46 # 0
guest6 01.09.2022 20:49 # 0
Rooster 04.09.2022 20:05 # 0
guest6 04.09.2022 22:01 # 0
bootcamp_dropout 05.09.2022 12:03 # 0
necKoB 06.09.2022 20:39 # −1
YpaHeLI_ 02.09.2022 12:19 # 0
necKoB 06.09.2022 20:40 # 0
guest6 06.09.2022 23:33 # 0
У меня в детстве был
Мой знакомый лет двадцать назад там работал
Он вообше еще существует?
ого
я малость не успеваю за переменами
https://www.cnews.ru/news/top/legendarnyj_rossijskij_antivirus_menyaet
nyTuH_nugop 02.09.2022 12:30 # 0