LINUX.ORG.RU

C++11 и управление памятью

 , ,


0

8

Прочитал недавно о смарт-поинтерах в C++11. Можно ли считать это полноценной заменой GC используемых другими языками программирования, такими как Java/C#? Какие современные компиляторы полноценно поддерживают C++11? Есть ли полноценная поддержка C++14?

★★★★★
Ответ на: комментарий от anonymous

написал тонну ифов копипастой(почему-то код был поддерживаемым, просто большим), потом часть скопипастил в функцию и закопипастил функцию в 3места.

Ну хоть что-то вы начали понимать. Был большой простой код, который был написан «в лоб». Когда появилось время его отрефакторить, он был преобразован. С помощью шаблонов.

Вы же пока вообще не можете показать аналога без шаблонов, который бы не являлся говнокодом.

В конечном итоге все три твоих класса сводятся к одному на векторе, с преаллокаций на 5-10% по умолчанию, либо на полную и длинной 100500 по умолчанию.

Царь, вы курсе, что вы полный дебил?

И да, на ваши высказывания по поводу бесполезности C++ных шаблонов и возможностей переписать все без них вам уже указывали неоднократно. Так что хватит съезжать с темы, покажите же нормальный код.

eao197 ★★★★★
()
Ответ на: комментарий от eao197

Ну хоть что-то вы начали понимать. Был большой простой код, который был написан «в лоб».

А, т.е. ты его написал - ну это определяет твою полную профнепригодность.

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

Тебе ничего не остаётся, кроме как признать факт «говнокода», а после чего уже обделаться, ибо раз ты позволил себе писать «Говнокод» и не уничтожил его сразу, а после смог его «отрефакторить» - значит он был юзабельный и читаемый, а раз ты его «поддержал», то и поддерживаемый.

Вы же пока вообще не можете показать аналога без шаблонов, который бы не являлся говнокодом.

О как, уже появился «Не говнокод», которого раньше не было.

Это, блин, что такое?

За это тебя вообще в приличном общесте должны были обоссать.

Покажите аналог без шаблонов. Код. Просто код.
Покажите код без шаблонов. Хоть свой, хоть мой.
Так что хватить срать, покажите код.
который бы не являлся говнокодом

Дальше уже можно не пытаться - амёба сломалась.

Царь, вы курсе, что вы полный дебил?

Ога, я дебил, а возразить нечего тебе.

И да, на ваши высказывания по поводу бесполезности C++ных шаблонов и возможностей переписать все без них вам уже указывали неоднократно. Так что хватит съезжать с темы, покажите же нормальный код.

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

Вместо того, чтобы вести себя как человек - ты ведёшь себя как балаболка. На что ты рассчитываешь? Что такие же балаболки из-за солидарности к тебе поверят в то, что ты не обделался? Ну дак это ничего не меняет.

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

Я выкатил тебе решение, которое в 10раз проще, а так же быстрее(хотя качество реализации в районе нуля, поэтому тут рассуждать о быстрее особо смысла нет). Ты можешь попытаться найти ошибки в моём решении, либо защищать своё. Я даже согласен тебе переписать «твоё» тварение нормально, если ты выкатишь бенчмарки и скажешь «эти бенчмарки ~100% отражают действительную производительность», чтоб потом не было как всегда «бечмарки не, а в реале» и прочие.

Ради тебя.

anonymous
()
Ответ на: комментарий от anonymous

мне нужен ответ на конкретный вопрос «чем моя копипаста и говнокод отличается от первоначального варианта, который так же „копипаста и говнокод“?»

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

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

Я выкатил тебе решение, которое в 10раз проще

Это не так. Ваше решение хуже, поскольку это сплошная копипаста. Даже последний вариант на макросах.

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

Сначала вы строите из себя крутого специалиста, затем сами признаете, что качество реализации в районе нуля. О чем вам сразу же и сказали.

Итого, царь продемонстрировал свои способности в написании кода. Вопросов больше не имею.

eao197 ★★★★★
()
Ответ на: комментарий от eao197

Во-первых, речь шла не о первоначальном варианте.

Тебя просят ответить на вопрос, балаболка. Чем первое твоё решение отличается отмоего.

От вас требовалось, как минимум, показать такой же результат без шаблонов.

Цитату где это было написано.

Это не так. Ваше решение хуже, поскольку это сплошная копипаста. Даже последний вариант на макросах.

Слив засчитан. Что такое «копипаста» ты, амёба, мне так и не высрала.

m_tracer,
            env,
            id,
            params.capacity() ); -- это не копипаста?


               new mchain_template< Q, D >{
                  std::forward<A>(args)... } }; -- это не копипаста?

Насколько я понимаю - ты обделалась с цитатками на «не говнокод» и решила просто заигнорить мои вопросы? Типичное поведение.

Сначала вы строите из себя крутого специалиста

Уважаемая амёба, навать мне себя «специалиста» - это равносильно облить себя дерьмом. Я не буду спрашивать основание этого высера - это бесполезно.

Моя задача не строить из себя что-то, а множить ничтожество на ноль. Ибо говно должно быть в говне, а не кукарекать будто бы оно что-то из себя представляет.

Твои попытки на уличения меня в чём-то убоги и смешны, ибо против меня ты ничто. Я царь, а ты говно. И я даю тебе шанс не быть дерьмом, но что ты делаешь? Продолжаешь жалкие попытки что-то мне тут вякать.

затем сами признаете, что качество реализации в районе нуля. О чем вам сразу же и сказали.

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

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

А про саму твою недолибу для даунов - я уже писал. Я тебе предлагал выкатывать реальную задачу в котором применима твоя недолиба, чтобы сравни реализацию на моём скилле и твоём дерьме. Ты обделался и ничего, кроме пинг-понга высрать не смог.

anonymous
()
Ответ на: комментарий от anonymous

Чем первое твоё решение отличается отмоего.

Специально для дебилов: «Во-первых, речь шла не о первоначальном варианте.»

std::forward<A>(args)... } }; — это не копипаста?

Это не копипаста, дурень. Матчасть выучите, потом уже на трон карабкайтесь.

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

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

eao197 ★★★★★
()
Ответ на: комментарий от eao197

Специально для дебилов: «Во-первых, речь шла не о первоначальном варианте.»

Мне не интересны твои сливы. Раз ты первоначальный вариант написал - значит он был не говнокод, либо ты написал говнокод?

В общем здесь ясно, что ты попался. Ты либо признаешь, что в первый раз ты написал говнокод, либо не признаёшь и мой код не может быть говнокодом. Если же ты признаёшь за ним(совим первым мвариантом говнокод, то раз ты его отрефакторил и изменил, то он «читаем и поддерживаем», а значит основой посыл «говнокод - неподдерживаемый код» не работает.

Понимаешь? У тебя нет выхода - в любом случае ты проиграл.

Это не копипаста, дурень. Матчасть выучите, потом уже на трон карабкайтесь.

Ога, ога - а почему же первый пример ты заигнорил, а из второго спастил только кусочек. Неужели анус чует, что что-то тут не так?

Повторю то, что уже говорил: если делать нехер, то в дистрибутиве есть куча примеров.

В прошлый раз меня забанили и ты точно так же обоссался, нудаладно.

Ещё раз, ты балаболка, которая единственное, что может - это обделаться.

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

Я тебе дал шанс не обделаться, а хоть что-то в этом мире понять. Ты продолжил мне нести херню - я запастил тебе код без шаблонов. Я уже выйграл, но тут пошло «он говнокод, он не такой» и прочее. И так будет всегда. Всегда что бы я не запастил это будет говнокодом, нетаким и прочее. Это единственная твоя возможность не признать тот факт, что ты обделался.

Что будет, когда я обоссу твой пингпонг или ещё какую-то херню - будет то же самое «код говно», «где мой фреймворк», «я хочу что было как у меня» - «этот код не годится для реального проекта, ко-ко-ко неподдерживаемый, ко-ко-ко нужно больше типов» и прочее потуги. Как бы я тебя не обоссывал - ты будешь юлить как свинья.

А вот если будет конкретная задача, то уже так покукарекать не выйдет. Конечно обезьяна будет пытаться кукарекать «а если нам надо поменять, рефакторить(царский-то код) или добавить что-то», но в целом это особо влиять не будет - факт будет налицо.

Ну и самое главно - причина всего - ничего кроме хелворда ты написать неспособен.

Я тебе даю шанс - проверить твою уверенность. Ты же не просто так балаболишь? У тебя должны быть бенчмарки я видел - ты там где-то что-то подобное пастил. Тебе лишь надо их заверить и всё.

какое я дермо.

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

Я хочу, что бы ты и подобные тебе, перед тем как что-то кукарекать и спорить - спросили себя - «а могу ли я покукарекать не обделавшись». Да, ты обитал и обитаешь в среде даунов, которые тебя на место не поставят. Та привык жрать дерьмо и срать дерьмом везде.

Вот казалось бы - даю возможность доказать, победить царя. Это же так просто - царь же балабол и ничего не понимает и идиот. Хорошо. На это требуется времени в 10раз меньше, чем писать мне ответы. Как это можно объяснить?

anonymous
()
Ответ на: комментарий от anonymous

Раз ты первоначальный вариант написал - значит он был не говнокод, либо ты написал говнокод?

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

Остальную простыню текста не читал, ниасилил.

eao197 ★★★★★
()
Ответ на: комментарий от eao197

Ладно - давай, я уже на тебя не в обиде. Выкати уже нотариально заверенные бенчи. Покажи как ты умеешь ответь за балабольство.

Царь обедлается и тебя будет нотариально заверенный пруфец обделывания царя - первый на лоре. Будет первый и единственным у кого такое есть? Не? Это же так прексрано.

anonymous
()
Ответ на: комментарий от anonymous

тебя будет нотариально заверенный пруфец обделывания царя - первый на лоре

Он уже есть. Этого достаточно.

Если у вас нет мозгов (что уже очевидно), но есть куча времени (что так же очевидно), то никто не помешает вам строчить высеры про собственное величие и дальше.

eao197 ★★★★★
()
Ответ на: комментарий от eao197

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

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

У нас есть факт, что ты написал копипасту. Значит это приемлемый код? Ты смог его переписать? Смог. Он у тебя там 10лет валялся не переписаным? Валялся. Значит он читаемый и поддерживаемый. Получается так. Единственная в нём проблема - это типа «Еще один пример того, как C++ные шаблоны позволяют избавиться от дублирования кода.», но это не работает, ибо дублирование кода там есть( две ведки в функции - это такое же дублирование, как и изначальном примере, а так же 3ветки в изначальной функции).

Было 6дублей, а стало 3+2. На самом деле ничего не понялось и если переписать первый вариант нормально( ну если ты нулина осилишь значение оператора return), то он будет абсолютно такой же по длиннее. Собственно я это продемонстрировал.

А мой макрос вообще множит тебя на ноль. А уж макрос типа:

#define make_mchain2(arg) (trace) ? mchain_t { new mchain_template<arg, mchain_tracing_enabled_base> { env, id, params, *m_tracer }} : mchain_t { new mchain_template<arg, mchain_tracing_disabled_base> { env, id, params}}

//Вообще на нулину.

if(params.capacity().unlimited())
    return make_mchain2(unlimited_demand_queue);

  if(params.capacity().memory_usage() == memory_usage_t::dynamic)
    return make_mchain2(limited_dynamic_demand_queue);

  return make_mchain2(limited_preallocated_demand_queue);

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

Остальную простыню текста не читал, ниасилил.

Да нет, по остальному просто нечего сказать, как и по этому.

anonymous
()
Ответ на: комментарий от eao197

Он уже есть. Этого достаточно.

Ога, ога. Смешно.

Если у вас нет мозгов (что уже очевидно)

Обделался ты, а виноват я? Ну ок.

но есть куча времени (что так же очевидно)

Пошли сливы на время, а там я это указал, кстати. Амёба такая предсказуемая. Строчить мне ответы у тебя время есть, а потратить 5минут на заверение бенчмарков у тебя нет. Ну дак - это так и есть, инфа сотка.

то никто не помешает вам строчить высеры про собственное величие и дальше.

Не моё величие, а твою ничтожность. Не надо путать. Ты ничтожен не относительно моего величия, а просто ничтожен. Зачем ты пытается себя возвысить?

anonymous
()
Ответ на: комментарий от anonymous

Тут я уже мог констатировать факт обсёра, ибо никаких свидетельств того, что мой код без шаблонов должен быть как второй вариант нет(а он итак как второй).

Это потому, что вы дебил.

eao197 ★★★★★
()
Ответ на: комментарий от eao197

Ну да, да, да. Тебе всего лишь надо пруфец, а его нет. Бывает, ну ничего. Мозг это такая штука, которая есть, либо её нет. Я могу кукарекать и не ловиться, а ты нет, ибо слишком слаб.

Так и происходит. Врёшь, врёшь, врёшь, но всё равно каждый раз, каждый раз в говне.

Ты реально думаешь, что я с тобою спорю по поводу «как второй» - нет, мне насрать. Я тебе просто показываю уровень твоей никчёмности, что поймать я тебя могу на чём угодно. И когда я тебе даю шанс показать себя человеком - им надо пользоваться.

Я всё же даю тебе ещё раз шанс выкатить нотариально заверенные бенчи, авось ты сможешь? Я буду в тебя верить.

anonymous
()
Ответ на: комментарий от anonymous

Мозг это такая штука, которая есть, либо её нет. Я могу кукарекать и не ловиться

Чтоб кукарекать тебе нужен моск? ОРИСС на ЛОРе.

Я тебе просто показываю уровень твоей никчёмности,

Уровень никчемности == кукарекать == говно == насрать == «Царь»

slackwarrior ★★★★★
()
Ответ на: комментарий от slackwarrior

Чтоб кукарекать тебе нужен моск? ОРИСС на ЛОРе.

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

Уровень никчемности == кукарекать == говно == насрать == «Царь»

Ты прибежал опять ко мне? Мне и тебя обоссать?

anonymous
()
Ответ на: комментарий от anonymous

Ты прибежал опять ко мне? Мне и тебя обоссать?

мозг оказывается можно использовать.

У тебя наверное только ствол от моска осталсятак родился? И словарь тоже — от базовых функцый :)

slackwarrior ★★★★★
()
Ответ на: комментарий от anonymous

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

slackwarrior ★★★★★
()
Ответ на: комментарий от slackwarrior

Какой терапевт, балда. Он в дурке лечится, и сам уже неоднократно признавался. У чела серьезный мозговывих, судя по его портянкам реальная шизофрения. Совсем надо быть тупым, чтобы с ним дискутировать. Это вам не виталька.

anonymous
()
Ответ на: комментарий от slackwarrior

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

Ты перепутал меня и себя. Я тебя обоссываю как хочу и когда хочу, а ты свои штанишки обоссываешь сам, непроизвольно, при встречи со мною.

anonymous
()
Ответ на: комментарий от anonymous

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

Судя по каким портянкам? Нужели только в твоих фентезийных,а шезофрения у меня - да.

Совсем надо быть тупым, чтобы с ним дискутировать. Это вам не виталька.

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

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

Но почему-то больному школьнику проигрываешь ты, оправдывая это тем, что школьник больной - это как вообще работает?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.