Kapitel 2. Benutzerdefinierte Klassen mitmodernen C++-Funktionen schreiben
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
Benutzerdefinierte Klassen waren von Anfang an eine wichtige Stütze bei der Entwicklung von C++ im Finanzbereich, da Instrumente und Daten (wie Anleihen, Optionskontrakte und Zinskurven) auf natürliche Weise durch Objekte dargestellt werden können. Eine nützliche Funktion, die es schon vor C++11 gab, ist die Überladung des Klammeroperators (), mit der ein Objekt als Funktionsobjekt oder Funktor verwendet werden kann. Im Allgemeinen sind Funktoren Objekte, die sich wie Funktionen verhalten, aber wie Objekte zusätzliche Daten verwalten können.1 Wie du sehen wirst, ist dies besonders praktisch, wenn wir die Wurzel einer Funktion finden müssen, z. B. bei der Berechnung der impliziten Volatilität eines gehandelten Optionskontrakts.
Eine neuere Form eines Funktors, der so genannte Lambda-Ausdruck (auch Lambda-Funktion oder einfach Lambda genannt), wurde mit C++11 in die Sprache aufgenommen, wie bereits in Kapitel 1 beschrieben. In diesem Kapitel wird näher auf Lambdas eingegangen und anhand von Beispielen gezeigt, wie sie dazu genutzt werden können, Funktionen an einer einzigen Stelle zusammenzufassen und so doppelten Code zu vermeiden. Lambdas können auch als Funktionsargumente übergeben werden. Funktoren, einschließlich Lambda-Ausdrücke, spielen auch im Zusammenhang mit den ...