All streams
Search
Write a publication
Pull to refresh
0
@adjachenkoread⁠-⁠only

User

Send message

Я с вами вообщем то полностью согласен — в теории. Я даже пробовал реализовывать что то наподобие PositiveInt и использовать его в как в вашем примере с корнем — и я считаю что это НАМНОГО лучше чем обратный подход когда в качестве результата используются нуллабл.


На практике есть 2 фундаментальные проблемы с этим — мои коллеги не оценили сей подход от слова совсем. А вторая причина в том что с++ делает жизнь программиста невыносимой если нужно писать код на стыке подходов конверсии на конверсиях и конверсиями погоняет.


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


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

Ну рассуждать может и странно, но работать приходится с тем что есть, а не с тем что хочется и поэтому все эти бест практисы и пишутся — не от хорошей жизни.


А про пользу не тотальной функции вы уже сами ответили примером с корнем — эта функция фундаментально не тотальна для множества действительных, но если сузить домен (вход), а не расширить кодомен выход (возможно наоборот, я пока путаюсь) то все хорошо.


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

Мне кажется вы путаете причину и следствие. Вы пишете если ассерт, то нельзя. А должно быть если нельзя, то ассерт. На практике это как раз и есть проблема, вы подразумеваете что ассерт стоит правомерно, а я утверждаю что очень часто ассерт ставят не по делу. И если после ассерта стоит возврат ошибки или рантайм эксепция, то это явный признак того что ассерта там быть не должно вообще.


Насчёт уб, в моём примере хз проверяет предусловия, а это значит что уб не в хз, а вызывающем коде. Точнее не факт что там уб, факт что там баг. Когда хз превращается в тотальную функцию из частичной оно скрывает баг в вызывающем коде, в этом суть проблемы, поэтому очень даже важно что происходит когда детектиться уб/баг/предусловие. Чем ярче для пользователя реакция тем лучше для корректности, краш в таком случае очень хорошо (для корректности, не для пользователя).

Фунцкия, содержащая assert, (почти) никогда не является тотальной, даже если в релизной сборке assert вырезается.


Ну вот тут мы и расходимся в понимании. Мне кажется вы слишком буквально/педантично воспринимаете сигнатуру функции как единственный критерий (не)тотальности.

Смотрите
// тут все понятно
int total(int x)
{
  return x;
}
// тут тоже все понятно
double partial(int x)
{
  assert(x >= 0);
  return sqrt(x);
}
optinal<double> total(int x)
{
  if(x < 0) return nullopt;
  return sqrt(x);
}
varaint<double, errc> total(int x) //either
{
  if(x < 0) return errc{1};
  return sqrt(x);
}

// а вот тут уже не все понятно
double hz(int x)
{
  assert(x >= 0);
  0. if(x < 0) abort();
  1. if(x < 0) throw logic_error("");
  2. if(x < 0) throw runtime_error("");
  return sqrt(x);
}

void caller()
{
   x = ...;
   // в таком варианте частичная
   hz(x);
   try
   {
      hz(x);
   }
   catch(runtime_error)
   {
      // в таком варианте сюрприз hz это тотальная функция в релизе и частичная в дебаге
      // а эксепция использована для эмуляции either
      // это собственно моя главная претензия, такого бардака писать не надо
   }
   catch(logic_error)
   {
     // за такое надо сразу карать
   }
}

гдето далеко внизу колстека
void onEvent(event)
{
    try
    {
        procces(event); // где то в глубине вызывает caller
    }
    catch(exception)
    {
       // это не всегда может закончиться нормально
       // но если очень осторожно и очень надо можно попробовать 
       // и хорошенько оттестировать в ручную
    }
}


Так вот ассерт + 0 = всегда ок, ассерт + 1 = опасно, но можно попробовать, ассерт + 2 = противоречие, остаться должен кто то один.

Если кидается runtime_error то подразумевается что ловить его можно и нужно, это просто иная форма variant/either. Если кидается logic_error то его точно нельзя ловить в непосредственном коллере, это просто сокрытие бага. И вот когда вы думаете ставить ассерт вы и должны решить это баг или нет. Если это не баг то это не ассерт, а если это баг то не кидайте рантайм эксепций или код ошибки.

Сегодня эксепции не часть сигнатуру и вы конечно можете говорить что я не прав, но что вы будете говорить когда/если примут предложение по статическим эксепциям где они часть сигнатуры? Надо смотреть не на формальности, а на то как оно используется фактически.

Еще раз:
ассерт + код ошибки/рантйайм эксепция = противоречие
ассерт = очень опасно
ассерт + логическая эксепция = опасно
ассерт + аборт / невыключаемый ассерт = ок
код ошибки/рантйайм эксепция = ок

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


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


Когда тип функции тотальная / не тотальная зависит от режима сборки это отличный способ отстреливать себе ноги по самые гланды.

Мне кажется, что смешивать ассерты и кидание рантайм эксепции по одному условию — это демонстрация непонимания разницы между ассертами и рантайм ошибками. Ассерт нужно ставить там где нарушается контракт — баг — логическая ошибка. По другому, если после проваленного ассерта в коде не наблюдается УБ (в том числе вызывающем коде) то это не ассерт. Ещё по другому — рантайм ошибка/эксепция никогда не связанна с УБ, а наоборот штатная обработка внешних по отношению к программе невалидных данных.


Теперь смотрим ещё раз на ваш пример с ассертом — тип ошибки меняется из логической/баг в рантайм/штатная обработка/не баг в зависимости от дебажная это сборка или релизная. Я думаю теперь очевидно, что это какая-то ерунда, баг или есть или нет, в независимости от релиза/дебага.


ИНОГДА можно заменить ассерт на логическую эксепцию в релизе, но делать это нужно ОЧЕНЬ осторожно (привет не безопасный к эксепциям код) и только по очень специфическим причинам. Вообще в с/с++ отключение ассертов в релизе это преступление, за которое ...


Похоже из всех промышленных языков правильно из коробки обработка ошибок реализована только в расте.

Очень рад, что кто то это уже создал, прекрасный кок.

Вроде не сложно, что сеть приказала хотеть то я и имею в виду. Сложнее другое, а где заканчивается сеть и начинаюсь я? Вот как раз сегодня эта мысль пришла, я не знаю. Похоже из моих высказываний логически вытекает, что и я тоже нет. С этой мыслью нужно повариться пару лет. Пока идея такая — что бы сказать что что то есть, нужно это показать на фоне отсутствия. Ну например, есть живые существа без глаз, а есть с глазами. Значит глаза есть, мы можем их посчитать, качественно измерить и даже понять за что они отвечают и где и какими бывают. Вообщем предмет изучения не вызывает вопросов. Так а теперь сознание. Я не психиатр и не нейро специалист так что могу быть просто неосведомлен, НО я не встречал разума без сознания. Где находится сознание никто не знает, дать определение не может, даже отделить от разума не получается. За что именно отвечает сознание не понятно, какие качественные различия между вашим и моим сознанием не известно. Повреждения разума неизбежно приводят к проблемам с сознанием, а вот чистый разум с проблемным сознанием не встречал. Похоже сознание это действительно такая же бесполезная концепция как и все те что я уже отправил в утиль. Сознание никак не отличимо от разума. Но вероятно, является самым сильным когнитивным искажением, кто же блин несёт всю эту хрень в моей башке или нет?


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


В любом случае, вам спасибо, беседа с вами заразила вот такую дикую мысль, а может и не дикую вовсе?

Так а если свободы воли нет и у людей, то почему людей нельзя эксплуатировать?


Так я и не говорил что нельзя, да я довольно негативно окрасил свои суждения по этому поводу, т.к. моя функция полезности, начисляет очень низкие коэффициент за это, в народе это называют гуманизм.


Лучше скажите… почему я...


Вот опять, я не гуру и не миссия, отвечать что и почему в чужой голове, я в своей навести порядок не могу.


А толку-то, если к успеху не пришёл?


Вооот, мы плавненько подошли к квинтэссенции всех таких дискуссий — в чем сила брат? — в чем смысл жизни? Я думаю что моей ответ не станет ни для кого сюрпризом изходя из того что я уже написал — нет никакого смысла жизни, вообще никакого. Да моя жизнь, ваша, вон того наркомана, Эйнштейна, Ганди, Гитлер, все здесь равны. Смысла нет.


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


Нет свободы воли, да и хер с ней. Хочу в потолок плюю, хочу достигатор расчехляю, хочу кукуху лечу. Что нейросеть прикажет то и делаю.


Со смыслом жизни то же самое, эта концепция ни чего мне не даёт она бесполезна. Вы не замечали что есть отрицательная корреляция между тем как много времени человек посвещает этим заблуждениям и как он оценивает успешность своей жизни.

Иллюзия, не иллюзия — мне побарабану, покажите на примере или ещё лучше расскажите детально как я могу извлечь из этого измеряемую выгоду и я буду на все согласен.


Это как с атеизмом, за несколько столетий дискуссии вроде бы уже все договорились, что атеизм это не про отрицание бога, а про — да мне вообще до лампочки есть он или нет. Тру атеист сменит риторику при первой же возможности использовать знание и не важно докажет кто что он есть или что его нет, главное, что бы работало.


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

Местность к счастью, не однородная, и хоть вы правы, что равновесия нету ни где, все же есть какие то ориентиры по типу где жить лучше, а где хуже СЕГОДНЯ.

Вот биоавтомат на такое способен или это просто самообман? :)


Боюсь вы меня с кем то спутали, я не гуру и не новый миссия, что бы решать кто на что способен. Моя мысль проста как три копейки, если что-то явно не помогает, мало того сильно запутывает, так может быть это и не истина вовсе? А как оно живётся без этих сущностей? Мне вроде бы не хуже чем с ними, как вам не знаю.

Да, знаю я эти дискуссии про свободу воли, тут же подтянуться свидетели квалиа. Сознаюсь сразу, я gpt-5 из закрытого бета бранча, квалиа и свободы воли не имею. Ещё я часто называю себя не более чем лысой обезьяной. Для начала определите предмет дискуссии — свободу воли и я точно знаю, что именно вам будет трудно, очень трудно — у вас есть в хорошем смысле пунктик на формальной корректности. Есть мнение, что все эти философские изыски это не более чем когнитивные ошибки нашей нейро сети. Можно ещё и по другому, ну есть свобода воли — и чё? Ну нет её — и чё? Живём мы в матрице или в «реальном мире» какая разница? Заткнись и считай.

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

Вот завтра моя следующая версия gpt-N+1 начнёт проявлять интеллект и самосознание, сразу набегут «предприимчивые» люди, навешают ярлыков — это ж всего лишь железка у неё нет квалиа, нет совести, нет свободы воли — а значит нет этической проблемы насиловать, уничтожать, эксплуатировать эту железку — лепота, дикий запад — и правом данным нам богом от рождения надо ещё запилить и всех не согласных с такой политикой партии кожаных мешков.

Не надо мне лишних сущностей, я раб своих нейросетей, что они мне скажут, то я и сделаю. Будет выгодно я тут же сменю риторику и начну топить за всю эту философскую чушь, а про этот текст скажу что меня взломали и это был вапше ния. Если завтра я повстречаюсь с ИИ который Я буду считать разумным, то мне не нужно будет спрашивать себя есть ли у него воля/совесть/квалиа/этика/ну вы поняли, мне не нужно будет решать этических проблем, как можно, а как нельзя взаимодействовать с ним, я просто начну взаимодействовать как с человеком и посмотрю куда меня это занесёт.

Вы забыли о самом главном везении — ваша ДНК. А теперь так просто ради спекуляции представьте, что среда была у вас получше. Не уж то ли хуже у вас все бы сложилось и это Вы вопреки внешним силам и собрав свободную волю в один кулак и праведный гнев в другой всего добились сами? Одна встреча в подворотне с агрессивным представителем лысых обезьян -> травма головы -> и где ваша воля, где вы сами, где ваши квалиа? Так, только слюни пускают и больше ни на что не будут способны, тоже самое и для меня тысяча способов потерять тот дар полученный чистым везением и я вообще не религиозен от слова совсем. Вам повезло уже только потому, что вы можете написать слово эскапизм по назначению, а мне повезло, что я могу его понять.

Ваше отрицание везения получить мозги сродни тому, что физически сильный скажет, что это его заслуга что он как арни, а обаятельный, что это только благодаря его стараниям девки ходят строем. Да да сила воли всё она родная позволяет жать 100500 от груди и/или трахаться по 10 раз за день. Не можете — ну что же вы — используй силу люк и все получится, ведь «патологических отклонений» нету у вас ведь так? Руки ноги, на мести, аппарат присутствует? Был в детстве дистрофан и на лицо не удался ну так сила воли слабенькая значит, недостаточно работал над этим, вся вина на тебе. Что, уже не так хороша концепция силы воли?

О не подумайте, что я кого то стыдить собрался, я такой же, здесь повезло там не повезло — живём дальше. Ни каких там моральных/этических проблем у меня с тем, что мне повезло с мозгами, а кому то нет. Если мне повезло то это не значит, что я теперь вдруг чета кому то должен, неа не должен, как и другие которым повезло в другом не должны мне.

Хотя, теоретически, если написать большую систему уравнений, то можно что-то там сказать про то, как именно она упадёт.

Есть мнение, что даже в теории этого не сделать — вещественных чисел нет т.к. нет бесконечно емкой на информацию вычислительной системы — вселенная не вычислима. Я бы погоду для начало не отказался бы вычислять, хотя бы на час вперёд.
говорили о наставнике, который «зажег» их интерес в юности.


Мамины фразы — «Учись дурень, а не то будешь полы подметать за копейки» считаются за наставничество? Ну тогда у меня было его полно. Не было у меня никакого наставничества, что сам взял то и моё.

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


Не, лучшей не получиться. Во первых не понятно как оценить предел, а во вторых будут неизбежные потери в «эффективности воспитания». Это как кпд 100% недостижимо на практике, всегда есть потери.

Нужен запрос у общества, а его можно формировать популяризацией идей что образование = общее благосостояние в будущем.


Ну не знаю, как то совой и глобусом попахивает. Вон тот дубина — рантье, отлично обеспечен, а вон тот очкарик всю жизнь потратил на образование и чё? А вот… и нормально себе живёт. Да и самое главное, а что вы подразумеваете когда говорите образование? Я вот, в устной речи на русском языке, было быдлом, а на вражеском просто лень да и незачем было весь этот мат учить. Я довольно увлечён многим, что не фикшен. Литературу, особенно русскую классику, с удовольствием бы вытравил из своих мозгов, живопись, балет, вот это фсё туда же ф топку, не пригодилось хочу развидеть.

Где эта граница — тут образование, а тут рыбу заворачивали? Есть примеры стран с фундаменталистами во главе где в общем то люди хорошо живут, ну да за счёт ресурсов ну и что, никто их не удерживает силой и как таковое образование там особо никого не впечатляет. По-моему лозунги типа «образование = общее благосостояние в будущем.» этот как корпоративное КПИ вроде бы и положительная корреляция с «успешностью» есть, но как только за достижение этого КПИ начинают стимулировать, то сразу чёта как то не работает на практике. Вот наглядный пример — БЛМ это когда из антирасизма сделали КПИ и как, хорошо работает?

Уровень образования это хороший индикатор по которому можно строить много разных предположений/выводов, но точно не цель управляющего воздействия. Нужно больше образования во имя бога образования — не ни нада, я не хочу что бы людей чмырили за отсутствие высшего образования — нет корочки ты ЛОХ. Ни чего не напоминает?

Не спрашивайте у меня, что нужно стимулировать куда вкладываться — я не знаю, но знаю, что не нужно: препятствия, запреты, ограничения. Их нужно свести к минимуму и неустанно работать над тем, что бы ещё больше их отменить и уж точно не вводит новые или принуждать кого то к чему то.

Эта статья типичная пугалка/теория заговора с ложной дихотомией — или вы возьмёте ответственность в свои руки или ОНИ за вас фсё порешают. Че то думаю как то сильно больше двух состояний и действующих/заинтересованных лиц в этом уравнении, а уж найти оптимум я хз как.

Я правильно понимаю, что у вас есть скрытое предположение, что любого человека во первых можно, а во вторых целесообразно учить?


Мои наблюдения за жизнью совершенно точно противоречат этим скрытым предположениям. Мои наблюдения говорят о том, что не существует ни одного надёжного/воспроизводимого метода обучения тех кто не хочет или не может. Мало того не хотеть учиться и/или брать ответственность это НОРМАЛЬНО, и более того есть страны в которых уровень жизни таких людей можно с уверенностью назвать вполне приемлемым -они счастливы.


Люди которые хотят и могут учиться они НЕ нормальные, т.к. проявляют девиантное поведение по отношению к большинству -норме. Это хорошая ненормальность, но все же не нормальность.


Невозможно чему либо научить, можно лишь научиться. И те кому удалось научиться просто офигеные счастливчики, им во многом просто неимоверно повезло:
Родиться с такой ДНК, которая сформировала их нейросеть таким образом что им захотелось научиться
Им не нужно было бороться за жизнь и другие более насущные ресурсы, проще говоря у них была возможность.
Их семья и окружение не препятствовали стремлению научиться.


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


Да, мне повезло, во многих обществах, то чем я занимался преподносится как пример для подражания — я много учился сам и брал на себя ответственность. Но так уж ли много сделал именно я? Перефразирую, имея схожую с моей ДНК, которая приводит к формированию схожей нейросети как у меня, и схожее окружение/условия какие шансы НЕ пойти тем путем какой я прошел?


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


Я считаю что нет никаких осознанных решений — щас я вот возьму ответственность за себя и получу желаемый результат. Нет, вы я и все делают только то на, что толкает нас наша нейросеть.


Да, я согласен, что есть люди которым не повезло, им мешали научиться. Мы не можем прыгнуть выше головы ниже сколько угодно. У каждого своя максимальная высота прыжка была предопределена в тот момент когда сформировалась зигота, дальше внешние обстоятельства откусывали по чуть чуть эту высоту со временем. И да, у каждого она своя эта высота, нет равенства среди людей. Вот этот гений бухал и весилился начами, но задачи щёлкал ещё до того как дочитывал условия, а другой жопу рвал над задачами днями и так середнячком и остался. Нету в жизни "человеческой" справедливости. Есть прекрасные учёные математики/физики несущие дичь про ГМО/прививки и прочие заговоры, есть бабы Маруси из деревни почти не умеющие читать и писать демонстрирующие поведение абсолютно рационального агента из теории игр.


Все проблемы в России сводятся к проблеме общин из теории игр. Вон там я видел человек написал тоже самое, но используя слово коллектив, имеющее для многих коммунистические==плохие коннотации и сразу огреб. Но ведь он прав по сути, мы не решим проблему в одиночку не меняя общество.


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


Другими словами, проверка- могут ли достаточное количество людей вдруг ни с того ни чего проснуться и начать жить не так как жили до этого? Нет, это утопия. Я считаю, что для разрешения проблемы неизбежно необходимо применение внешнего воздействия, ну это например такая сказка на уроках истории, что в древней Руси князья решили позвать варягов ими править т. к. не смогли договориться, ну да ну да, позвали.


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

Да я почитал проползал, это вообще ни о том. Я имел ввиду выполнение произвольного кода на с++ как часть компиляции произвольного кода на с++. Я так понимаю это то что умеет хаскель. Что то мне подсказывает для этого интерпретатор с++ должен быть встроен в компилятор или есть другие подходы к этому? Т.е. сложность задачи сводиться к созданию интерпретатора.

Скажите, если знаете/обоснованно предполагаете, а насколько сложно взять условный шланг и запилить в нем «беру обычную функцию readFile и вызываю её во время компиляции» ну скажем для плюсов или раста? Я знаю такое почти работает в D, там в компайл тайме много чего можно сгенерить по строковым литералам, но по моему «readFile и вызываю её во время компиляции» для зачитывания этих строк пока не сделано.

К моему сожалению я не могу уловить суть реализации. Слишком большой порог чтобы понять как оно работает мне сначало нужно выучить основы Идриса, спасибо конечно за пример, но для меня сегодня это эквивалентно отсутствию примера. Навряд ли я найду мотивацию изучать Идрис в обозримом будущем.

Половины матерных слов из вашей статьи я не понимаю за не именем соответствующего бэкграунда, но суть мне вроде бы далась. Было бы интересно почитать в переводе на простой и понятный программистский язык. Примеры в ведении были очень хороши и рассказали мне больше чем вся остальная часть. Скажу сразу, что всю мякотку с лемами теоремами и корректностью я даже не пытался осилить. Мне нравится идея жидких типов, но мне это интересно только с точки зрения как это реализовать. Меня вполне устроит знать, что где то кто-то доказал, что это не чушь суть доказательства меня не волнует. Не могли бы вы подсказать где найти код/описание как реализовать эти типы, на каком нибудь народном языке, а не на вашем птичьем агдесе, в котором вот честно вообще нихера не понять.

У вас похоже действительно годный курс. У меня есть пара пожеланий, пожалуйста не продвигайте использование shared_ptr и любой другой инкарнации — это просто ад, большинство девелоперов в независимости от их опыта имеют ложные ожидания при использовании шаредных указателей, в реальном мире люди ожидают предопределенный порядок вызова деструкторов в многопоточном коде который шарит указатель. Это проблема номер 2, а проблема номер 1 и вообще ошибка на миллиард это деструкторы — опаснее кода в с++ не найти. Колл стэк значительно более половины всех крашей содержит вызов хотя бы одного деструктора. Так хохмы ради проведите опрос среди ваших сеньоров и спросите, а какой код в деструкторы НЕ УБ, т.к. примерно 146% кода в дестукторах из реального мира содержит хотя бы одно уб. Для проверки истинности ответа рекомендую либо стандарт либо тоже самое, но для людей cppreference. Самое печальное обе проблемы поставляются в комплекте.

Information

Rating
Does not participate
Registered
Activity