LINUX.ORG.RU

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

>это не глупости, делегат - это действительно практически указатель на функцию :) всё-же это глупости.

почему же?

как насчёт multicast для указателей?

не уверен что понял Вас, разверните плиз

>в Java есть inner class, который весьма в ту же степь

:) в C# тоже есть inner class, но отношения к делегатам он имеет второстепенное.

ок, само по себе оно может и не имеет, но с помощью него можно реализовать делегаты, вот здесь лежит пример запиливания делегатов в яве

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

Вы видимо неправильно используете

да нет, правильно использую

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

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

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

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

> При работе со списками оптимизируются деревья разбора. Т.е. код приведённый в примере работает в разы быстрее чем если поиск соответствующих элементов вставить в 2 цикла

Непонятен смысл этой фразы. Что именно вы подразумеваете под оптимизацией дерева разбора относительно приведённого примера ? Поясните.

В LINQ2SQL есть оптимизация запросов

Оптимизация SQL запросов ? Или оптимизация запроса до его преобразования в SQL ?

К примеру есть lazy evaluation.

у LINQ есть рантайм, который оптимизирует процесс. К примеру есть lazy evaluation.

Разве Lazy Evaluation можно отнести к оптимизациям в рантайме ?

Я по приколу переписал кусок кода написанный мной-же года 4 назад для того чтобы использовать LINQ...

Можете привести этот пример ?

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

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

>Автоматизировать бизнес или бизнес-процессы, это несколько разные вещи,

омг. гугль в помощь и посмотри чем компании занимаются.

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

А не читал бы ты рекламной макулатуры, в которой «внедренцы» от сохи, через слово путают бизнес и бизнес-процессы. омг.

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

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

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

>Второй же чуть более, чем полностью убог.

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

Сейчас в моде ООП, обобщённое и функциональное программирование


Угу. И в каком месте кроме функциональщины здесь не подходит C++?

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

> просто 4 года огромный срок, за это время ты успел выучить массу приемов оптимизаций о которых раньше не знал
Цели соптимизировать не стояло. Единственное изменение - заменил поиск в цикле на LINQ. Делал это исключительро для тренировки, так как код выглядел подходящим для этого

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

> а то пока попадаются лишь общие фразы и маркетинговый мусор.

Приведите пожалуйста пример маркетинговоо мусора в моих высказывариях.

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

>а если так написать? :)
При чём здесь как написать?
Java не сохраняет информацию о дженериках в рантайме, так как всё реализовано препроцессром.
Насколько я помню, в scala это обохли создав дополнительные механизвы в обход java байткода.

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

>это всё прекрасно, но вот тут чувак провёл тестирование и утвержает что linq - тормоз, агрументированно так

Аргументированно.
LOL
Для замены простого цикла LINQ просто заменяет цикл на вызов фенкции и тогда да, ээто просто удобный синтаксис.

замените join в приведённом выге примере на 2 вложенных цикла и сравните результат. Хотя можно и написать быстрее соптимизирровам и создав интексы для списков, но зачем?

linq - это просто сахарок

Жаль потраченного времени, но некоторых просто бесполезно учить чемулибо

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

>почему же?
потому что multicast
Да, и я учить вас не собираюсь, так как imho бесполезно.


ок, само по себе оно может и не имеет, но с помощью него можно реализовать делегаты, вот здесь лежит пример запиливания делегатов в яве

:(
я разве писал, что что-то нельзя реализовать на чём-то?
Я писал, что в языке программиррования Java нет делегатов.

Знаете, я дискуссию закругляю, так как нам с вами не найти понимания.

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

Сколько же можно, ну

Может, тогда лучше спросить у ГРАМОТНОГО юриста?

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

С точки зрения того, к чему там можно придраться? Какой статус у этого «документа»?

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

Они ж умудрились даже к Ондроеду придолбаться.

«Ондроеду» они ничего и не обещали. Улавливаешь разницу?

А после ТАКОГО использовать ИХ технологии в НЕ ИХ реализации - вообще стрёмно. Тем более - в Ънтерпрайзе, даже пусть и не совсем Ъ.

Не надо истерик.

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

> Приведите пожалуйста пример маркетинговоо мусора в моих высказывариях.

Это я не о вас, а о результатах, выдаваемых мне гуглом.

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

>>Это имитация, типа C-шного препроцессора. информации в рантайме нет, значит дженериков тоже

а если так написать? :)

При чём здесь как написать?
Java не сохраняет информацию о дженериках в рантайме, так как всё реализовано препроцессром.

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

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

//хехе, упоротый какой :)

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

>Дотнета, и уж тем более mono, в ынтерпрайзе нет, не было и не будет

Насчет всего дотнета ты малость тенденциозен. Был, таки есть и будет: http://www.infongen.com/about/ Эта штука (не сайт, а InfoNGen) вся на дотнете. Сплошной WCF/REST/Workflow/WPF и прочие мелкомягкие свистелки... Причем постоянно переписывается под новые фреймворки (есть такой пунктик у разрабов чинить не сломаное - просто «лямбды же красивше делегатов!!!111»). У этих ребят https://www.themarkets.com/Login.aspx несколько проектов на основе InfoNgen (отличаются веб-мордами и спецификой агрегируемой рыночной инфы.)

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

>это всё прекрасно, но вот тут чувак провёл тестирование и утвержает что linq - тормоз, агрументированно так

Аргументированно. LOL Для замены простого цикла LINQ просто заменяет цикл на вызов фенкции и тогда да, ээто просто удобный синтаксис.

замените join в приведённом выге примере на 2 вложенных цикла и сравните результат. Хотя можно и написать быстрее соптимизирровам и создав интексы для списков, но зачем?

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

> linq - это просто сахарок

Жаль потраченного времени, но некоторых просто бесполезно учить чемулибо

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

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

>ок, само по себе оно может и не имеет, но с помощью него можно реализовать делегаты, вот здесь лежит пример запиливания делегатов в яве

я разве писал, что что-то нельзя реализовать на чём-то? Я писал, что в языке программиррования Java нет делегатов.

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

Знаете, я дискуссию закругляю, так как нам с вами не найти понимания.

ну что-ж, тогда счастливого сплава по сливной трубе, чао :)

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

>Оптимизация SQL запросов ? Или оптимизация запроса до его преобразования в SQL ?
А в чём разница?
пишется несколько Linq2Sql expressions
при обращении к резльтату они оптимизируются, затем вызывается БД и ей передаются оптимизированные запросы.
десяток linq может быть заменён на одно обращение.

Разве Lazy Evaluation можно отнести к оптимизациям в рантайме ?

Это один из видов оптимизации.
к примеру сравним 2 подхода - вы загрузили 3 таблицы в датасет с помощью jdbc и затем не используете половину из них.
В случае Linq2sql обращение к базе данных произойдёт только после того как вы обратились к результатам запроса, например вызвав .ToList() или .FirstOrDefault() для IQueriable .

кстати var просто идеально создан для работы с Linq выражениями, так как не нужно морочиться о типе результата. Очень удобно.

Можете привести этот пример ?

Чесно говоря лениво искать. Могу если очень нужно, но я сейчас посмотрел VSS и быстро не нашёл :(

Идея в том чтобы заменить несколько вложенных циклов на одно LINQ выражение с использованием join. Насколько я понял LINQ строит индекс который позволяет перейти к линейному поиску по всем ключам сразу вместо послетовательных поисков в первом списке значения и затем поиска значения во втором используя первое как ключ.
Это безусловно можно сделать и вручную, но у меня не стояла проблема ускорения процесса - 30-40 минут вполне устраивало и LINQ делался не для ускорения а просто код показался подходящим - решил попробовать. Ускорение было приятной неожиданностью.

Для ускореня исполнения в С#, можно простые данные не в классы а в структуры помещать.
пример: http://balancer.ru/tech/forum/2011/01/t63003,5--proizvoditelnost-yazykov-obek...
Но придрались, сказали что это хак. А оптимизировать выделение памяти, в другом случае, чтобы избежать вызова GC это не хак :(

Вообще, если не трудно, не могли бы вы привести литературу/статьи, где бы описывалось, какие оптимизации и на каких уровнях проводит Linq

Не могу, так как не интереесовался темой специально.
Вам нужно читать на тему expression tree optimization. это как раз то, что вы ищете.

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

>Когда будет нужно - на неё положат, найдут кучу пунктов к каким придраться и пр.

Когда будет нужно, на твои конституционные права положат, найдут кучу пунктов к каким придраться и пр. А еще паспорт отзовут, по итогам проверки правомочности выдачи. Обнулят карточки, отравят кошку и обнаружат коммунальные долги за 12 лет, гигабайты СP на винте, и участие в похищениях людей. Потому что твои гражданские праваа - эт предвыборные обещания самых наглых и горластых гопников (и причем тут iPhone?). Как страшно жыть!

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

:)
Вы деже не пытаетсь понять то что я пишу.

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

Можете поздравить себя с победой.

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

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

WCF трудно (практически невозможно) сравнивать с MFC. Аргументация хромает на обе ноги.

не люблю когда мне насильно навязывают стиль написания кода

/0 Стиль начинается с самоограничения и следования некоторым правилам. Жрать кактусы и плакаться какие они колючие, с другой стороны ССЗБ. Что ж таки заставляет «правильно пользоваться неправильным WCF»? Довление со стороны начальства? Работа в неправильной фирме, не понимающей преимуществ голых сокетов над WCF?

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

Вы деже не пытаетсь понять то что я пишу.

и это мне пишет человек который не знает что такое дженерики, э-хей, программисте вперде :)

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

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

WCF трудно (практически невозможно) сравнивать с MFC.

так, Вы тоже читать не умеете?

или приведите линк где я сравниваю WCF c MFC (!!! как это возможно вообще я не понимаю, это наверное как windows с assember'ом сравнивать) или становитесь уже тоже игнорастом, это же так весело

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

Жрать кактусы и плакаться какие они колючие, с другой стороны ССЗБ. Что ж таки заставляет «правильно пользоваться неправильным WCF»? Довление со стороны начальства? Работа в неправильной фирме, не понимающей преимуществ голых сокетов над WCF?

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

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

>и это мне пишет человек который не знает что такое дженерики, э-хей, программисте вперде :)
Чесно говоря мне вас даже слегка жаль.
Хотя вы в своих проблемах сами виноваты, но тем не менее, советую всё-же учиться и вам откроется.
Надеюсь.

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

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

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

>Один крупный банк в Украине перенес почти всю свою бизнес-логику с дотнета на моно, не только веб-приложения.
Верю.
Но так как десктоп приложенияме не пишу лет 13-15 , то обсуждать их я , так сказать, не компетентен :)

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

>необходимость следовать microsoft-way при использовании WCF, и это та же самая причина почему я не использую MFC

Вам надо поработать над литературным стилем, чтоб всем было сразу понятно, что вы имеете в виду. Взять два совершенно непересекающихся фреймворка и найти некую (не технологическую, а религиозную!) причину, по которой вы обоими брезгуете - загадочный, но гадкий microsoft-way. Xercesc-c зато очень удобный и пользительный, например. (Он с первыми двумя никак не связан, но «навязываемый» им стиль написания кода мне дорог не этим. Главное дело, не microsoft-way!)

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

>просто прежде чем плакаться, рекомендуется попробовать

Зачем же самому? Можно внять голосу разума^W Рабиновича.

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

Не, там не только десктоп, вернее там десктопа кот наплакал. Там туева хуча всяких хитрых банковских серверных штучек. Энтерпрайз в полный рост. Банк купил какую-то специализированную CRM с потрохами и самостоятельно перенес ее на моно.

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

Ок.
Я не совсем корректно высказался.
В моих высказывания к выбу относится всё что не GUI :)
т.к. энтерпарйзный вэб это на 95% бизнеслогика и 5% Web UI

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

Сорри, просто shyt достал, и я несколько нервно отреагировал.

Стало самому интересно, вот что вычитал в LINQ in Action:
IQueryable is more powerful than sequences based on IEnumerable because intelligent processing LINQ DLLs and namespaces based on the analysis of expression trees can happen. By examining a complete
query through its expression tree representation, a tool can take smart decisions and make powerful optimizations. IQueryable and expression trees are suitable for cases where IEnumerable and its pipelining pattern are not flexible enough.

т.е. спотреть нужно в строну IQueryable и expression trees

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

Для начала я хочу пояснить - мне до сих пор толком не приходилось работать с Linq «вживую», поэтому мне интересно, какими реальными преимуществами он обладает. При этом под преимуществами я понимаю не «раньше в C# было так, а теперь так», а какие у него плюсы в сравнении с другими технологиями/языками (то есть, что-то такое, чего нет нигде).

На данный момент мне наиболее значительными свойствами видятся только распараллеливание вычислений из коробки с помощью Parallel Linq и, вроде как, автоматическая оптимизация запросов. Всё остальное это по большему счёту решение проблем самого C# или проблем ООП, которых в не-объектно ориентированных языках в принципе не существует.

А в чём разница?

Разница в том, что непосредственно SQL запрос оптимизировать особого смысла нет - этим всё равно занимается база, и сделает она это гораздо лучше, хотя бы по тому, что ей доступна необходимая статистика. Поэтому более вероятной мне кажется оптимизация expression trees, которые передаются Linq2Sql. Но тут возникает вопрос - а можно ли в принципе провести хоть сколько нибудь значительную оптимизацию expression tree ? Т.е., хранится ли в этом expression tree такая информация, которая при преобразовании в SQL будет утрачена, тем самым ограничивая оптимизацию запроса в базе. Иначе говоря - есть ли смысл оптимизировать expression tree, если потом оптимизацией SQL будет заниматься база (и не окажем ли мы базе медвежью услугу). Мне, например, ответ на этот вопрос не очевиден (точнее, я склоняюсь к тому, что особого смысла нет).

десяток linq может быть заменён на одно обращение.

Каким образом ? Хотелось бы пример, хотя бы в общих чертах.

Насчёт ленивых вычислений я не соглашусь - это не оптимизация, это просто одна из методик программирования. Тот же Haskell целиком построет на LE, но мы же не говорим, что он «оптимизирован». Это особенность C#, что он не предоставляет красивых средств для работы с ленивыми вычислениями, и здесь linq лишь борется с проблемами языка. Насчёт deferred loading из базы - мне сложно назвать это особенностью linq, т.к. это очень просто реализуется любыми подручными средствами.

Идея в том чтобы заменить несколько вложенных циклов на одно LINQ выражение с использованием join. Насколько я понял LINQ строит индекс который позволяет перейти к линейному поиску по всем ключам сразу вместо послетовательных поисков в первом списке значения и затем поиска значения во втором используя первое как ключ.

Автоматическая генерация индексов out of box - это уже интереснее.

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

Опять же - это проблемы C#, в других языках таких проблем может вообще не существовать.

Вам нужно читать на тему expression tree optimization. это как раз то, что вы ищете.

В свободное время гляну.

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

>т.к. энтерпарйзный вэб это на 95% бизнеслогика и 5% Web UI

да, я это и имел в виду.

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

>и это мне пишет человек который не знает что такое дженерики, э-хей, программисте вперде :)

Чесно говоря мне вас даже слегка жаль.

простите, но Вы сами нарвались :)

lurkmore, уж простите

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

теперь по поводу дженериков:

1. Определим сначала что такое дженерики, итак: дженерик (коль скоро это существительное) - это обобщённый тип; что он даёт: обощённые типы позволяют создавать методы, классы, алгоритмы, параметризуемые типами данных; применение: функцию, к примеру, описанную в терминах обобщённых типов нельзя использовать напрямую, поэтому там где мы хотим её использовать, мы должны явно или неявно конкретизировать обощённый параметр.

2. Очевидно, что дженерики есть и в Java, и в C#, и в C++ и т.д. и т.п., да они по разному реализуются, да есть большая разница между тем как работают (на уровне VM) дженерики в Java и C#, но это всё не означает что дженериков в Java нет.

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

резюмируя вышенаписаное: я не очень понимаю, что Вы хотите записать в преимущества C#, говоря «джененрики», так понятнее моя позиция?

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

>необходимость следовать microsoft-way при использовании WCF, и это та же самая причина почему я не использую MFC

Вам надо поработать над литературным стилем, чтоб всем было сразу понятно, что вы имеете в виду. Взять два совершенно непересекающихся фреймворка и найти некую (не технологическую, а религиозную!) причину, по которой вы обоими брезгуете - загадочный, но гадкий microsoft-way.

не стоит оправдываться, так и скажите - прослоупочил

Xercesc-c зато очень удобный и пользительный, например.

рад за Вас

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

>просто прежде чем плакаться, рекомендуется попробовать

Зачем же самому? Можно внять голосу разума^W Рабиновича.

эдак недолго и на винде оказаться

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

Угу. И в каком месте кроме функциональщины здесь не подходит C++?

С++ подходит. Беда его в том, что он убог, монструозен, полон несуразностей и неудобств.

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

> Беда его в том, что он убог, монструозен, полон несуразностей и неудобств.

ну вот, например, на флэше есть:

http://www.gliffy.com/gliffy/#templateId=blank&signup=1

как думаешь сколько такое писать на C#? наверное очень быстро?

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

Я писал, что в Java не хранит информацию о дженериках в рантайме, вы же зачем-то мне пишете всякие не относящиеся к теме сказки и рбвиняете меня в незнании дженериков, о которых я в данной теме ВООБЩЕ НИЧЕГО НЕ ПИСАЛ!

ps
Как я уже говорил выше, дискутировать с вами мне уже не интересно, а троллить лениво.

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

Я писал, что в Java не хранит информацию о дженериках в рантайме, вы же зачем-то мне пишете всякие не относящиеся к теме сказки и рбвиняете меня в незнании дженериков, о которых я в данной теме ВООБЩЕ НИЧЕГО НЕ ПИСАЛ!

я напомню

>>Generics

есть

Брехня

отсюда

и что теперь скажете?

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

Как я уже говорил выше, дискутировать с вами мне уже не интересно, а троллить лениво.

в таком разе, позволю себе напомнить: не стоит начинать спор, который не можете закончить

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

Я писал, что в Java не хранит информацию о дженериках в рантайме,

да-да, есть type erasure, но вот в этой статье, например, рассматривается метод для того чтобы вытащить кое-какую информацию (да, костыльный, но всё же)

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

>и что теперь скажете?
Повторюсь в 5й раз - Java не хранит информации о дженериках в рантайме, значит их нет.

ps.
Вам не надоело?

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

>в таком разе, позволю себе напомнить: не стоит начинать спор, который не можете закончить
Я спор уже завершил несколько страниц назад.

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

Приём сугобо для троллинга, соответственно я мои благие намерения по обчения вас наткнулись на троллиг.

Трольте сколько хотите - как я писал раньше дискуссия с вами мне далее не интереснв.

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

>и что теперь скажете?

Повторюсь в 5й раз - Java не хранит информации о дженериках в рантайме, значит их нет.

и снова повторюсь: Вы не понимаете что такое дженерики,

дженерики, к примеру, есть и в C++, но никакой информации в рантайме там, как понимаете, нет

рекомендую Вам вот эту статью почитать для начала

Вам не надоело?

мне нет, но если что, готов смиренно замолчать

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