yield in C++
-
lol
-
Ich kann Shade nur zustimmen. Das hat ungefähr gar nichts mit yield zu tun.
-
Ich bin, zugegeben, in C# nicht so firm wie in C++, aber ist der Sinn von yield nicht gerade, dass zunächst nur bis zum ersten yield return bzw. yield break ausgeführt wird?
Wenn du jetzt einen Iterator-Typen gebaut und mit einem Lambda-Ausdruck verbunden hättest, um eine Kurzschlussmechanik zur Verfügung stellen zu können, hätte ich das ja eingesehen, aber der Sinn dieses Konstrukts leuchtet mir nicht ein.
-
Und was soll das bringen? Der einzige Vorteil von yield ist in meinen Augen die verkürzte Schreibweise.
-
Ich würde dir einen Link für C#-Einsteiger geben, aber dann beschwerst du dich wieder, dass das eine Beleidigung deines Intellekts ist.
-
http://en.wikipedia.org/wiki/Coroutine
Inwiefern ist dein "yield" besser als
std::generate()
?
-
314159265358979 schrieb:
Und was soll das bringen? Der einzige Vorteil von yield ist in meinen Augen die verkürzte Schreibweise.
Nein. yield hat nichts mit verkuerzter Schreibweise zu tun.
Siehe zB: http://startbigthinksmall.wordpress.com/2008/06/09/behind-the-scenes-of-the-c-yield-keyword/
-
Shade Of Mine schrieb:
314159265358979 schrieb:
Und was soll das bringen? Der einzige Vorteil von yield ist in meinen Augen die verkürzte Schreibweise.
Nein. yield hat nichts mit verkuerzter Schreibweise zu tun.
Siehe zB: http://startbigthinksmall.wordpress.com/2008/06/09/behind-the-scenes-of-the-c-yield-keyword/
Natoll. Jetzt fühlt er sich wieder dumm.
-
Ist das yield in C# ähnlich wie das yield in Python?
Zweites kenn ich, und über erstes will ich gerade nicht erst viel lesen müssen, um sicher zu sein, dass ich den Thread hier verstanden hab.
Edit: OK, scheint so ungefähr das gleiche zu sein.
-
Das yield mit Coroutinen kann man in C++ auch umsetzen, bei Boost.Context gibt es dazu ein Beispiel.
-
Wenn man Continuations haben moechte, dann sollte man eine Sprache benutzen, die sie als built-in anbieten: Scheme.