tag:blogger.com,1999:blog-7754674872362895099.post2696662512482002458..comments2023-05-03T16:18:51.793+03:00Comments on Очень серьезный блог: Anonymoushttp://www.blogger.com/profile/10666299351005530153noreply@blogger.comBlogger9125tag:blogger.com,1999:blog-7754674872362895099.post-29176490403575200572011-04-19T13:26:03.235+04:002011-04-19T13:26:03.235+04:00А делегаты?А делегаты?CobaltDhttp://www.blogger.com/profile/12300133714185405375noreply@blogger.comtag:blogger.com,1999:blog-7754674872362895099.post-90698389926541397452011-04-19T13:26:02.707+04:002011-04-19T13:26:02.707+04:001) вменяемые сообщения компилятора при ошибке (а т...1) вменяемые сообщения компилятора при ошибке (а то МСовский компилер вообще падать любит в таких случаях).<br>2) написание враппера сводится просто к написанию вызова оригинальной ф-ции, как в () => fn(1), зато сравните шарповый<br>(int a, int b) => fn(a, 13, b) <br>против<br>boost::bind( &fn, _1, 13, _2);<br>Шарповый вариант чище и красивее, нет?<br><br>А теперь попробуйте в плюсах написать, ну, хотя бы, аналог<br>(int a) => fn(a*2, fn2(a));<br>вот как раз в плюсах и придётся писать отдельный уродливый враппер...<br><br>Вообще, насчёт примитивности шарпа (последней версии) вы мягко говоря неправы, есть там куча прикольных заморочек которых ну очень не хватает плюсам :) <br>ИМО, единственные вещи которых не хватает шарпу и вообще .НЕТу, это deterministic destruction и const и volatile. Вот когда они их наконец реализуют, будет вообще прикольно :)Artemhttp://www.blogger.com/profile/15711440828590671852noreply@blogger.comtag:blogger.com,1999:blog-7754674872362895099.post-85020855722120431572008-08-21T16:21:00.000+04:002008-08-21T16:21:00.000+04:001) вменяемые сообщения компилятора при ошибке (а т...1) вменяемые сообщения компилятора при ошибке (а то МСовский компилер вообще падать любит в таких случаях).<BR/>2) написание враппера сводится просто к написанию вызова оригинальной ф-ции, как в () => fn(1), зато сравните шарповый<BR/>(int a, int b) => fn(a, 13, b) <BR/>против<BR/>boost::bind( &fn, _1, 13, _2);<BR/>Шарповый вариант чище и красивее, нет?<BR/><BR/>А теперь попробуйте в плюсах написать, ну, хотя бы, аналог<BR/>(int a) => fn(a*2, fn2(a));<BR/>вот как раз в плюсах и придётся писать отдельный уродливый враппер...<BR/><BR/>Вообще, насчёт примитивности шарпа (последней версии) вы мягко говоря неправы, есть там куча прикольных заморочек которых ну очень не хватает плюсам :) <BR/>ИМО, единственные вещи которых не хватает шарпу и вообще .НЕТу, это deterministic destruction и const и volatile. Вот когда они их наконец реализуют, будет вообще прикольно :)Artemhttps://www.blogger.com/profile/15711440828590671852noreply@blogger.comtag:blogger.com,1999:blog-7754674872362895099.post-24396731386128582822008-08-16T16:03:00.000+04:002008-08-16T16:03:00.000+04:00Не очень понял чем проще, ведь нужно написать функ...Не очень понял чем проще, ведь нужно написать функцию враппер, а с биндом ее писать не нужно, при этом функционал тот-же :)Anonymoushttps://www.blogger.com/profile/10666299351005530153noreply@blogger.comtag:blogger.com,1999:blog-7754674872362895099.post-65545553996199250252008-08-08T15:16:00.000+04:002008-08-08T15:16:00.000+04:00ЗЫ. любители краткости могут ещё и так:Test d = ()...ЗЫ. любители краткости могут ещё и так:<BR/>Test d = () => fn(1);Artemhttps://www.blogger.com/profile/15711440828590671852noreply@blogger.comtag:blogger.com,1999:blog-7754674872362895099.post-56723958127892506282008-08-08T15:14:00.000+04:002008-08-08T15:14:00.000+04:00> с делегатами в C# такое сделать нельзя :) ну ...> с делегатами в C# такое сделать нельзя :) <BR/><BR/>ну это не совсем так ;)<BR/><BR/>void fn(int value) {....}<BR/>delegate void Test(); // это typedef boost::function<void()> Test;<BR/>void TestBind()<BR/>{<BR/> Test d = delegate() { fn(1); };<BR/> d(); //вызовется fn(1)<BR/>}<BR/><BR/>я думаю не нужно объяснять насколько это лучше и проще и гибче бустового бинда :)Artemhttps://www.blogger.com/profile/15711440828590671852noreply@blogger.comtag:blogger.com,1999:blog-7754674872362895099.post-26073906037924475492008-07-10T15:11:00.000+04:002008-07-10T15:11:00.000+04:00Но в шарпе ведь есть обычный лямбды - зачем байнды...Но в шарпе ведь есть обычный лямбды - зачем байнды? ;)Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7754674872362895099.post-79658905075383112822008-05-21T09:46:00.000+04:002008-05-21T09:46:00.000+04:00обновил постобновил постAnonymoushttps://www.blogger.com/profile/10666299351005530153noreply@blogger.comtag:blogger.com,1999:blog-7754674872362895099.post-14743693526711454282008-05-15T17:20:00.000+04:002008-05-15T17:20:00.000+04:00А делегаты?А делегаты?CobaltDhttps://www.blogger.com/profile/12300133714185405375noreply@blogger.com