text: Christiaan Huygens [] () (* 14. April 1629 in Den Haag; † 8. Juli 1695 ebenda), auch Christianus Hugenius, war ein niederländischer Astronom, Mathematiker und Physiker. Huygens gilt, obwohl er sich niemals der noch zu seinen Lebzeiten entwickelten Infinitesimalrechnung bediente, als einer der führenden Mathematiker und Physiker des 17. Jahrhunderts. Er ist der Begründer der Wellentheorie des Lichts, formulierte in seinen Untersuchungen zum elastischen Stoß ein Relativitätsprinzip und konstruierte die ersten Pendeluhren. Mit von ihm verbesserten Teleskopen gelangen ihm wichtige astronomische Entdeckungen. Leben und Wirken Herkunft und Ausbildung Huygens wurde als Sohn von Constantijn Huygens geboren, der Sprachgelehrter, Diplomat, Komponist und der damals führende Dichter Hollands war. Durch seinen Vater kam Christiaan schon früh mit bedeutenden Persönlichkeiten in Kontakt, unter anderem mit Rembrandt, Peter Paul Rubens und René Descartes. Christiaan wurde als Kind von seinem Vater unterrichtet. Später studierte er an der Universität Leiden zunächst Rechtswissenschaften, wechselte dann aber bald zu Mathematik und Naturwissenschaften. Seine erste veröffentlichte Arbeit (1651) befasste sich mit der Quadratur von Kegeln und zeigte einen Fehler in einem angeblichen Beweis der Quadratur des Kreises. Weiter beschäftigte er sich mit der Kreiszahl π (pi), Logarithmen und leistete wichtige Vorarbeiten für die Infinitesimalrechnung, auf denen dann Leibniz und Newton aufbauen konnten. 1657 veröffentlichte er die erste Abhandlung über die Theorie des Würfelspiels (De ludo aleae), wodurch er heute als einer der Begründer der Wahrscheinlichkeitsrechnung gilt. Vorausgegangen waren Briefwechsel zwischen Blaise Pascal und Pierre de Fermat, über deren Inhalt Huygens, wie er behauptete, jedoch nichts bekannt war. Analysiert man die Lösungen der fünf am Ende seiner Abhandlung aufgeführten Probleme, muss man vermuten, dass er Pascals Vorstellungen wohl gekannt hat, nicht aber die kombinatorischen Wege von Fermat. Beiträge zu den Naturwissenschaften Zunehmend interessierte sich Huygens auch für die damals modernen Bereiche der Naturwissenschaften, Optik und die Astronomie mit Teleskopen. Er hatte Kontakt zu Antoni van Leeuwenhoek, dem Entdecker der Mikroorganismen, und dem Philosophen Baruch de Spinoza, der mit Linsenschleifen seinen Lebensunterhalt bestritt. Kurzzeitig untersuchte auch Huygens kleine Objekte unter dem Mikroskop. Er begann aber bald selbst, Linsen für Teleskope zu schleifen und konstruierte zusammen mit seinem Bruder Constantijn Huygens Junior sein erstes Fernrohr. Huygens entwickelte die Wellentheorie des Lichts, die es ihm ermöglichte, Linsen mit geringeren Abbildungsfehlern (Aberration) zu schleifen und so bessere Teleskope zu bauen; seine Entdeckungen bewirkten auch eine Steigerung der Bildschärfe bei der Camera obscura und der Laterna magica. Er formulierte als erster das nach ihm benannte Huygenssche Prinzip, das als Grundlage der Wellenoptik gilt. Wie manch anderer Physiker seiner Zeit entwickelte auch Huygens eine eigene Theorie zu einem Äther für Licht und Gravitation. Huygens entdeckte mit seinem selbstgebauten Teleskop 1655 erstmals den Saturnmond Titan. Damit war der Saturn der zweite Planet nach dem Jupiter (von der Erde abgesehen), bei dem ein Mond nachgewiesen werden konnte (Galileo Galilei hatte schon 1610 die vier größten Jupitermonde entdeckt). Außerdem erkannte er, dass das, was Galilei als Ohren des Saturns bezeichnet hatte, in Wirklichkeit die Saturnringe waren. Er fand heraus, dass diese Ringe keine Verbindung zum Planeten hatten und ihr geheimnisvolles Verschwinden alle 14 Jahre dadurch zustande kam, dass man sie dann genau von der Seite sah, sie aber zu dünn waren, um von der Erde aus noch wahrgenommen werden zu können. Viele Wissenschaftler schreiben Huygens Entdeckung nicht seinem fortschrittlichen Teleskop zu, sondern seinen mathematischen Fähigkeiten. Weitere astronomische Leistungen Huygens’ waren die Entdeckung der Rotationsbewegung des Mars und die Berechnung der Rotationsperiode (Marstag) mit ungefähr 24 Stunden sowie die Auflösung der hellsten Region des Orionnebels als ausgedehnten leuchtenden Bereich. Diese wird ihm zu Ehren auch Huygenssche Region genannt. Er entdeckte ferner weitere Nebel und Doppelsternsysteme und äußerte die Vermutung, dass die Venus von einer dichten Wolkenhülle verhangen sei. Mechanik, Pendeluhr und Exoplaneten Neben der Astronomie interessierte sich Huygens besonders für Mechanik. Seit seiner Jugend wurde er, durch die Vermittlung seiner Vaters, von Marin Mersenne gefördert, der ihn an seinen damals neuartigen Aufgaben und Problemstellungen teilhaben ließ. Huygens reformulierte die Stoßgesetze und befasste sich mit Fliehkräften. Beide Bereiche der Mechanik spielten in der damals vielbeachteten Cartesischen Physik eine grundlegende Rolle. In der Anwendung des Trägheitsprinzips gelang es zuerst Huygens, den Betrag der wirkenden Fliehkraft auf eine rotierende, träge Masse durch mathematische Proportionen anzugeben. Dabei handelt es sich in moderner Zusammenfassung um das Zentrifugalgesetz , wobei m die Masse des Körpers, v die konstante Bahngeschwindigkeit auf seiner Kreisbahn von Radius r ist. Seine Untersuchungen von Schwingungen und Pendelbewegungen konnte er zum Bau von Pendeluhren nutzen. Schon Galilei hatte eine solche entworfen, aber nicht gebaut. Huygens konnte seine Uhr hingegen zum Patent anmelden. Die in seinem Auftrag von Salomon Coster gebauten Uhren wiesen eine Ganggenauigkeit von zehn Sekunden pro Tag auf, eine Präzision, die erst hundert Jahre danach überboten werden konnte. Später konstruierte er auch Taschenuhren mit Spiralfedern und Unruh. Christiaan Huygens veröffentlichte 1673 in seiner Abhandlung Horologium Oscillatorium eine ganggenaue Pendeluhr mit einem Zykloidenpendel, bei dem er sich die Tatsache zunutze machte, dass die Evolute der Zykloide selber wieder eine Zykloide ist. Der Vorteil in der Ganggenauigkeit wird jedoch durch den Nachteil der erhöhten Reibung wieder ausgeglichen. Von ihm stammt auch die früheste bekannte Uhr zur Bestimmung des Längengrades, die mehrere revolutionäre Techniken aufwies, und als deren Urheber er erst vor einiger Zeit wieder erkannt wurde. In seiner letzten wissenschaftlichen Abhandlung 1690 formulierte Huygens den Gedanken, dass es noch viele andere Sonnen und Planeten im Universum geben könnte, und spekulierte bereits über außerirdisches Leben. Von Huygens stammt auch die korrekte Ableitung der Gesetze des Elastischen Stoßes, wobei er von einem Relativitätsprinzip Gebrauch macht (siehe Galilei-Transformation). Er veröffentlichte seine Ergebnisse, die aus den 1650er Jahren stammten und die falsche Behandlung bei René Descartes korrigierten, 1669 (Philosophical Transactions of the Royal Society, Journal des Savants) und in seinem postum erschienenen Buch De motu corporum ex percussione von 1703. Christiaan Huygens und Samuel Sorbière (1617–1670) waren die ersten beiden ausländischen Wissenschaftler, die im Juni 1663 in die Royal Society aufgenommen wurden. 1666 wurde Huygens der erste Direktor der in diesem Jahr gegründeten französischen Akademie der Wissenschaften. Was seine Behandlung der Mechanik betrifft, so besaß Huygens das Talent, ursprüngliche und intuitiv für richtig erkannte Ideen aus seiner frühen Schaffensphase in späteren gereiften Schriften mit mathematisch-deduktiver Strenge auszubauen. Einzelne mechanische Gesetze nach Galilei oder Descartes konnte er auf diese Weise erweitern und korrigieren sowie durch eigene experimentelle Ergebnisse bestätigen. Er musste seine Grundsätze niemals verändern oder revidieren. Huygens zeigte keine Eile bei der Veröffentlichung seiner Schriften, viele blieben über Jahrzehnte und bis zu seinem Lebensende liegen. Eine Besonderheit der wissenschaftlichen Methode Huygens’ ist, dass er allgemeine Konzeptionen nur auf das einzelne zu erklärende Phänomen ausrichtet und begrenzt. In dieser Hinsicht wird er heute noch von Historikern als ein „perfekter Wissenschaftler“ bezeichnet. Huygens’ Überzeugung in seine Verfahrensweisen ging so weit, dass er sich von Ratschlägen und Vorarbeiten seiner Lehrer (Mersenne und van Schooten) und Kollegen abwandte und stattdessen eigene mechanische Prinzipien errichtete (etwa das o. g. Relativitätsprinzip für Stoßvorgänge oder eine Erweiterung des Prinzips von Torricelli), um damit Gesetzmäßigkeiten aus vorrangigen Forschungsthemen seiner Zeit – das waren vor allem die Theorie der Stoßvorgänge und der Massenschwingungen – zu entdecken und zu beweisen. Bezogen auf den Schwingungsmittelpunkt schreibt er: Huygens’ originelles Vorgehen hat ihm zu Lebzeiten nicht nur große Anerkennung, sondern auch Zweifel und Kritik unter Fachkollegen eingebracht. Newton bezeichnete ihn als den elegantesten Mathematiker seiner Zeit. Ernst Mach beschreibt die besondere Leistung Huygens’ für die klassische Mechanik folgendermaßen: Akustik (Musik) Huygens entdeckte die Beziehungen zwischen Schallgeschwindigkeit, Länge und Tonhöhe einer Pfeife. Er beschäftigte sich intensiv mit der mitteltönigen Stimmung und berechnete 1691 die Teilung der Oktave in 31 gleiche Stufen, um den Fehler des pythagoreischen Kommas im Tonsystem der Musik zu beheben. Lebensabend In den 1680er Jahren verschlechterte sich Huygens’ Gesundheitszustand, so dass er sein Familienhaus nicht mehr häufig verließ. In den letzten Jahren seines Lebens beschäftigte sich der Wissenschaftler mit der Musiktheorie. Am 8. Juli 1695 starb Christiaan Huygens mit 66 Jahren in Den Haag (Voorburg) unverheiratet und kinderlos. Ehrungen Huygens-Okular Mons Huygens Cassini-Huygens-Mission (2801) Huygens Er ist zusammen mit seinem Vater Constantijn Huygens Namensgeber des Huygens-Institut für die Geschichte der Niederlande. Schriften (Auswahl) Einzelne Schriften (Auswahl) De ratiociniis in ludo aleae, 1657 (über Wahrscheinlichkeitstheorie); holländische Übersetzung von Frans van Schooten: Van reeckening in spelen van geluck. De vis centrifuga, 1673; deutsch: Über die Zentrifugalkraft, herausgegeben von Felix Hausdorff, 1903. Horologium oscillatorium sive de motu pendularium, 1673 (über die Pendeluhr; auch in Band 18 der Gesammelten Werke); deutsch: Die Pendeluhr. Ostwalds Klassiker, 1913. Traité de la lumière, 1690 (Abhandlung über Reflexion und Refraktion, Wellentheorie des Lichts); deutsch: Abhandlung über das Licht. W. Engelmann, Leipzig 1890 (Digitalisat). Lettre touchant le cycle harmonique, Rotterdam 1691 (über sein Tonsystem). Postume Veröffentlichungen Cosmotheoros. 1698 (mit Spekulationen über außerirdisches Leben; die Schrift wurde im Todesjahr 1695 vollendet) Weltbeschauer, oder vernünftige Muthmaßungen, daß die Planeten nicht weniger geschmükt und bewohnet seyn, als unsere Erde. Zürich 1767 (Digitalisat); eine weitere deutsche Übersetzung von v. Wurzelbau erschien 1703 sowie 1743 in Leipzig. Opuscula posthuma. Lyon 1703, Darin enthalten: De motu corporum ex percussione (Erstveröffentlichung der von Huygens 1656 verfassten Abhandlung über die elastischen Stoßgesetze. De Vi Centrifuga (Erstveröffentlichung der 1659 verfassten Gesetze über die Zentrifugalkraft). Descriptio automati planetarii (der Beschreibung des Baus von Planetarien). Weblink: https://dlc.mpg.de/!metadata/868445207/1/-/ ); (abgerufen am 3. November 2022). Christian Huygens’ nachgelassene Abhandlungen: Über die Bewegung der Körper durch den Stoss; Über die Centrifugalkraft, herausgegeben von Felix Hausdorff. W. Engelmann, Leipzig 1903. (Erste deutschsprachige Ausgabe der Abhandlungen De motu corporum ex percussione und De Vi Centrifuga aus den Opuscula posthuma von 1703, mit vielen Anmerkungen versehen. Digitalisat). Korrespondenz Korrespondenz zwischen Johannes Hevelius und Christiaan Huygens (Digitalisat). Französische Gesamtausgabe Oeuvres complètes, 22 Bände. Den Haag 1888 bis 1950. Herausgeber: D. Bierens de Haan, Johannes Bosscha, Diederik Johannes Korteweg, Albertus Antonie Nijland, J. A. Vollgraf. Tome I: Correspondance 1638–1656 (1888). Tome II: Correspondance 1657–1659 (1889). Tome III: Correspondance 1660–1661 (1890). Tome IV: Correspondance 1662–1663 (1891). Tome V: Correspondance 1664–1665 (1893). Tome VI: Correspondance 1666–1669 (1895). Tome VII: Correspondance 1670–1675 (1897). Tome VIII: Correspondance 1676–1684 (1899). Tome IX: Correspondance 1685–1690 (1901). Tome X: Correspondance 1691–1695 (1905). Tome XI: Travaux mathématiques 1645–1651 (1908). Tome XII: Travaux mathématiques pures 1652–1656 (1910). Tome XIII, Fasc. I: Dioptrique 1653, 1666 (1916). Tome XIII, Fasc. II: Dioptrique 1685–1692 (1916). Tome XIV: Calcul des probabilités. Travaux de mathématiques pures 1655–1666 (1920). Tome XV: Observations astronomiques. Système de Saturne. Travaux astronomiques 1658–1666 (1925). Tome XVI: Mécanique jusqu’à 1666. Percussion. Question de l’existence et de la perceptibilité du mouvement absolu. Force centrifuge (1929). Tome XVII: L’horloge à pendule de 1651 à 1666. Travaux divers de physique, de mécanique et de technique de 1650 à 1666. Traité des couronnes et des parhélies (1662 ou 1663) (1932). Tome XVIII: L’horloge à pendule ou à balancier de 1666 à 1695. Anecdota (1934). Tome XIX: Mécanique théorique et physique de 1666 à 1695. Huygens à l’Académie royale des sciences (1937). Tome XX: Musique et mathématique. Musique. Mathématiques de 1666 à 1695 (1940). Tome XXI: Cosmologie (1944). Tome XXII: Supplément à la correspondance. Varia. Biographie de Chr. Huygens. Catalogue de la vente des livres de Chr. Huygens (1950). Literatur Hugh Aldersey-Williams: Die Wellen des Lichts. Christiaan Huygens und die Erfindung der modernen Naturwissenschaft. Hanser Verlag, München 2021, ISBN 978-3-446-27170-8. V. I. Arnold: Newton and Barrow, Huygens and Hooke. Pioneers in Mathematical Analysis and Catastrophe Theory from Evolvents to Quasicrystals. Birkhäuser, Basel u. a. 1990, ISBN 3-7643-2383-3. Arthur Ernest Bell: Christian Huygens and the development of Science in the 17. century. Edward Arnold, London 1947. Henk J. M. Bos: Christiaan Huygens. Charles Coulston Gillispie (Hrsg.): Dictionary of Scientific Biography, Band 6: Jean Hachette – Joseph Hyrtl. Scribner, New York NY 1972, ISBN 0-684-10117-3, S. 597–613. Henk J. M. Bos: Christiaan Huygens. In: Henk J. M. Bos (Hrsg.): Lectures in the History of Mathematics (= History of Mathematics. Band 7). American Mathematical Society u. a., Providence RI 1993, ISBN 0-8218-9001-8, S. 59–81. Henri L. Brugmans: Le Séjour de Christian Huygens à Paris et ses relations avec les milieux scientifiques français, suivi de son Journal de voyage à Paris et à Londres. Droz, Paris 1935. Eduard Jan Dijksterhuis: Christiaan Huygens. Bij de voltooiing van zijn oeuvres complètes (= Haarlemse voordrachten. Band 10). Vordracht gehoude in de Algemene Vergadering van 13 Mei 1950. Bohn, Haarlem, 1951. Fokko Jan Dijksterhuis: Lenses and Waves. Christiaan Huygens and the Mathematical Science of Optics in the Seventeenth Century (= Archimedes. Band 9). Kluwer Academic, Dordrecht u. a. 2004, ISBN 1-4020-2697-8. Christiaan Huygens: Horologium. Reprint der Ausgabe Hagae Comitum 1658. Herausgegeben und ins Deutsche übersetzt von Karl-Ernst Becker. Eigenverlag des Herausgebers, Düsseldorf 1977. Jan Smit: Dirck Rembrantsz van Nierop, 1610–1682. Het leven en werk van een beroemd sterrenkundige, meester in de wiskonst en een uitmuntend onderwijzer voor schippers en stuurlieden. Smit, Winkel 1992. Dirk J. Struik: The land of Stevin and Huygens. A Sketch of Science and Technology in the Dutch Republic during the Golden Century (= Studies in the History of modern Science. Band 7). Reidel, Dordrecht u. a. 1981, ISBN 90-277-1236-0. Christiane Vilain: La mécanique de Christian Huygens. La relativité de mouvement au XVIIe siècle. Blanchard, Paris 1996, ISBN 2-85367-201-8. Joella G. Yoder: Unrolling time. Christiaan Huygens and the mathematization of nature. Cambridge University Press, Cambridge u. a. 1988, ISBN 0-521-34140-X. Joella G. Yoder: Christian Huygens, Book on the pendulum clock (1673). In: Ivor Grattan-Guinness (Hrsg.) Landmark Writings in Western Mathematics 1640–1940. Elsevier, Amsterdam u. a. 2005, ISBN 0-444-50871-6, S. 33–45. Einzelnachweise Weblinks Digitalisierte Werke von Huygens – SICD der Universitäten von Strasbourg Digitalisate bei Google Bücher Leibniz: Briefwechsel – Briefe von und an Huygens in Reihe 3 der Akademieausgabe (online zugänglich sind die Bände 5 und 6) Astronom (17. Jahrhundert) Physiker (17. Jahrhundert) Mathematiker (17. Jahrhundert) Statistiker (17. Jahrhundert) Auswärtiges Mitglied der Royal Society Mitglied der Académie des sciences Musiktheoretiker Persönlichkeit der Lichtmikroskopie Niederländer Geboren 1629 Gestorben 1695 Mann Person als Namensgeber für einen Marskrater


source: wikipedia

text: Claus Philipp Maria Schenk Graf von Stauffenberg (* 15. November 1907 auf Schloss Jettingen, Jettingen, Königreich Bayern; † 21. Juli 1944 in Berlin) war ein deutscher Berufsoffizier der Wehrmacht. Stauffenberg begrüßte 1933 die Ernennung Adolf Hitlers zum Reichskanzler und unterstützte die nationalistischen und revisionistischen Bestrebungen des Nationalsozialismus. Mit zunehmender Dauer des Zweiten Weltkriegs erkannte er den verbrecherischen Charakter der nationalsozialistischen Diktatur. Angesichts der Aussichtslosigkeit der militärischen Gesamtlage nach der deutschen Niederlage von Stalingrad entschloss er sich zur Teilnahme am aktiven Widerstand. Stauffenberg entwickelte sich neben Henning von Tresckow zu einer der zentralen Persönlichkeiten des militärischen Widerstandes innerhalb der Wehrmacht. Als Chef des Stabes beim Befehlshaber des Ersatzheeres verübte er das Attentat vom 20. Juli 1944 auf Adolf Hitler und war entscheidend an dem anschließenden Unternehmen Walküre, dem Versuch eines Staatsstreiches, beteiligt. Nach dessen Scheitern wurde Stauffenberg gemeinsam mit seinen Vertrauten Albrecht Mertz von Quirnheim, Friedrich Olbricht und Werner von Haeften in der Nacht auf den 21. Juli 1944 im Hof des Berliner Bendlerblocks standrechtlich erschossen. Kindheit und Jugend Claus Philipp Maria Schenk von Stauffenberg wurde am 15. November 1907 auf Schloss Jettingen im bayerischen Jettingen geboren; sein Zwillingsbruder Konrad Maria verstarb bereits am nächsten Tag. Er war der jüngste Sohn von Graf Alfred Schenk von Stauffenberg (1860–1936) und dessen Ehefrau Caroline geb. Gräfin von Üxküll-Gyllenband (1875–1957). Die Ahnenreihe des schwäbisch-fränkischen Adelsgeschlechts der Grafen Stauffenberg ist bis ins 13. Jahrhundert urkundlich nachweisbar, der Grundbesitz lag im bayerischen Schwaben, Württemberg und in Oberfranken. Zahlreiche Familienmitglieder hatten eine Laufbahn im Militär, als hohe Beamte oder Politiker eingeschlagen. Mutter Caroline entstammte der deutsch-baltischen Familie Üxküll-Gyllenband. Mit Alexander und Berthold hatte er zwei ältere Brüder, die ebenfalls Zwillinge waren. Der bedeutende preußische Heeresreformer August Neidhardt von Gneisenau war sein Urgroßvater mütterlicherseits, Caesar von Hofacker war Stauffenbergs Cousin. Der Vater diente dem württembergischen König Wilhelm II. als Oberhofmarschall, die Mutter war Hofdame und Gesellschafterin der Königin. Daher bewohnte die Familie eine Dienstwohnung im Stuttgarter Alten Schloss. Die Sommerfrische verbrachte sie regelmäßig in Lautlingen auf der Schwäbischen Alb. Der politische Umschwung der Novemberrevolution 1918 tangierte die Stauffenbergs wenig: Auch nach der Abdankung des Monarchen stand der Vater als Präsident der herzoglich-württembergischen Hofkammer bis zu seiner Pensionierung 1928 weiter im Dienst des Hauses Württemberg. Getreu der Familientradition wurden die Stauffenberg-Kinder im katholischen Glauben erzogen, obwohl die Mutter der evangelischen Konfession angehörte. Insgesamt spielte die Beschäftigung mit religiösen Fragen in der Erziehung eine zentrale Rolle. Als Erwachsener war Stauffenberg der Konfession, in der er erzogen worden war, allerdings nur noch sehr lose verbunden und betrachtete sie nicht als maßgeblich für seine politischen und geistigen Vorstellungen, wie sein Bruder Berthold im Gestapo-Verhör angab: Das Elternhaus war durch eine tolerante Geisteshaltung und eine aufgeklärt-liberale Atmosphäre gekennzeichnet. Mutter Caroline sorgte für eine umfassende Bildung und legte Wert auf eine gründliche Beschäftigung ihrer Söhne mit Literatur, Musik und Theater. Der musisch vielseitige Stauffenberg spielte Violoncello und entwickelte sich trotz seiner in der Jugend zarten Gesundheit zu einem passionierten Reiter. Seine Schullaufbahn begann Stauffenberg 1913 mit dem Besuch einer Stuttgarter Privatschule für Elementarunterricht, ehe er im Herbst 1916 seinen Brüdern an das traditionsreiche Eberhard-Ludwigs-Gymnasium folgte. Während der Zeit am Gymnasium schloss sich Stauffenberg dem Bund Deutscher Neupfadfinder, einer Gruppierung der Bündischen Jugend, an. Die Bewegung pflegte ritterliche Ideale, hing der mittelalterlichen Romantik nach und verehrte den symbolistischen Lyriker Stefan George. Nachdem im Frühjahr 1923 zunächst die Zwillingsbrüder und kurz darauf Stauffenberg selbst dem „Meister“ vorgestellt wurden, gehörten sie fortan zum engsten Freundeskreis in Georges elitär-platonischem „Staat“ (George-Kreis). Stauffenbergs älterem Bruder Berthold widmete George zwei Gedichte in seinem letzten Lyrikband Das Neue Reich (1928) mit dem bereits 1922 entstandenen Poem Geheimes Deutschland. Innerhalb des nationalkonservativen Kreises galt Stauffenberg als Tat-Charakter und für ihn spielte die Gedankenwelt Georges, insbesondere die Begrifflichkeit des Geheimen Deutschland, eine zentrale Rolle. Er fühlte sich dem Vermächtnis des Dichters zeitlebens verpflichtet und verehrte ihn bis an sein Lebensende vorbehaltlos. Am 5. März 1926 legte Stauffenberg das Abitur ab. Trotz regem Interesse an Architektur und zur Überraschung seiner Umgebung entschied sich der lange Zeit kränkelnde Stauffenberg für eine militärische Karriere. Werdegang in der Reichswehr Am 1. April 1926 trat Stauffenberg als Fahnenjunker in das 17. Bayerische Reiter-Regiment in Bamberg ein. Die Entscheidung für eine Laufbahn in der Reichswehr begründete er später mit seinem Tatendrang sowie dem Wunsch, dem Staat zu dienen. Angesichts der militärischen Tradition der Familie wurde diese Berufswahl insbesondere vom Vater unterstützt und begrüßt. Stauffenberg diente zunächst in Bamberg, bevor er ab Oktober 1927 den obligatorischen zehnmonatigen Fahnenjunker-Lehrgang an der Infanterieschule der Reichswehr in Dresden-Albertstadt belegte, den alle Offiziersanwärter sämtlicher Truppengattungen absolvieren mussten. Diesen schloss er am 1. August 1928 als Fähnrich ab und er wechselte umgehend an die Kavallerieschule der Reichswehr nach Hannover. Auch der dortige Lehrgang war für Offiziersanwärter verpflichtend. Die abschließende Offiziersprüfung bestand Stauffenberg als Sechstbester seines Jahrgangs und zugleich als Jahrgangsbester der Kavallerie ab, wobei er für seine hervorragenden Leistungen einen Ehrensäbel empfing. Unter Beförderung zum Leutnant erhielt Stauffenberg am 1. Januar 1930 sein Offizierspatent und übernahm anschließend den Befehl über den Minenwerfer-Zug seines Bamberger Reiter-Regiments. Dort diente er gemeinsam mit dem Offizier Peter Sauerbruch und freundete sich mit dem Sohn des berühmten Chirurgen Ferdinand Sauerbruch an. Zeit seines Lebens war Stauffenberg an Politik interessiert. Als Angehörigem der Reichswehr war ihm allerdings jede politische Demonstration oder Parteizugehörigkeit verboten und konkrete Äußerungen aus jener Zeit sind nur sehr wenige überliefert. Ebenso wie sein Bruder Berthold stand Stauffenberg in der Zeit der Weimarer Republik, der sie grundsätzlich misstrauten, der sogenannten Konservativen Revolution nahe und war ein national gesinnter, begeisterungsfähiger Patriot. Etwa seit Anfang der 1930er Jahre sympathisierte Leutnant von Stauffenberg wie viele gleichgesinnte Offiziere mit Adolf Hitler, den er als Mann der Tat mit dem Potenzial ansah, das Volk über Klassen- und Parteigrenzen hinweg hinter sich zu einen. Vor der Reichspräsidentenwahl im April 1932 sprach sich Stauffenberg für Hitler und gegen den konservativ-monarchistischen Amtsinhaber Paul von Hindenburg aus, da er im politischen Denken zahlreiche Gemeinsamkeiten sah: Obgleich die Offiziere aus Stauffenbergs Generation, darunter auch viele seiner Kameraden aus dem späteren Widerstand, den Zukunftsversprechen der nationalsozialistischen Bewegung und ihrem Führer aufgeschlossen gegenüberstanden, behielten sie aufgrund ihres elitären Selbstverständnisses auch eine bis in die Zeit des Nationalsozialismus hinein wirksame Distanz gegenüber der NSDAP und ihren Parteiorganisationen wie etwa der SA aufrecht. Dennoch erfasste die nationale Aufbruchstimmung des Jahres 1933 auch Stauffenberg, der die Ernennung Hitlers zum Reichskanzler und die anschließende Gleichschaltung ausdrücklich begrüßte. Ein Brief an Stefan George aus dem Juni 1933 verrät eine aristokratische Gesinnung und zeigt zugleich, dass er die „nationale Erhebung“ durchaus positiv sah. Am 1. Mai 1933 folgte Stauffenbergs Beförderung zum Oberleutnant. Ehe und Nachkommen Am 26. September 1933 heiratete Graf Stauffenberg in Bamberg seine langjährige Verlobte Nina Freiin von Lerchenfeld. Ihr Vater war als kaiserlicher Konsularbeamter unter anderem in Kowno und Shanghai stationiert gewesen. Die Familie Lerchenfeld gehörte zum altbayerischen Uradel. Aus der Ehe gingen fünf Kinder hervor: Berthold Maria (* 3. Juli 1934), später Generalmajor der Bundeswehr ⚭ Mechthild Gräfin von Bentzel-Sturmfeder-Horneck Heimeran (* 9. Juli 1936; † 20. Oktober 2020) Franz Ludwig (* 4. Mai 1938), Mitglied des Bundestages und des EU-Parlaments (CSU) ⚭ Elisabeth Freiin von und zu Guttenberg Valerie (* 15. November 1940; † 4. Juni 1966) ⚭ Heino von L’Estocq Konstanze (* 27. Januar 1945) ⚭ Dietrich von Schulthess-Rechberg Zuletzt lebte Stauffenbergs Witwe in der Nähe von Bamberg und engagierte sich sehr für das alte Bamberg. Sie verstarb am 2. April 2006 im Alter von 92 Jahren im bayerischen Kirchlauter (Landkreis Haßberge). Zeit des Nationalsozialismus Nach dem Tod des Reichspräsidenten Paul von Hindenburg leistete die Reichswehr am 2. August 1934 den Führereid auf die Person Adolf Hitlers. Die machtpolitische Konzentration auf einen „Führer und Reichskanzler“ entsprach grundsätzlich Stauffenbergs Verständnis von der herausragenden Rolle des Individuums in der Geschichte. Ab dem 1. September 1934 folgte für Stauffenberg eine zweijährige Verwendung als Bereiter-Offizier an der Kavallerieschule Hannover, die vornehmlich unter sportlichen Gesichtspunkten Erfüllung brachten. Neben seiner Ausbildungsverantwortung zeigte sich seine überdurchschnittliche Befähigung als Reiter und er erzielte hervorragende Ergebnisse in Dressur- und Military-Wettkämpfen. Am 1. Oktober 1936 gehörte Stauffenberg zu den ersten 100 ausgewählten Offizieren, die zur Generalstabsausbildung an die Kriegsakademie nach Berlin-Moabit abkommandiert wurden. Die von Hitler betriebene Aufrüstung der Wehrmacht erhöhte den Bedarf an Generalstabsoffizieren und die Ausbildung war mit Blick auf die schnelle Heeresvermehrung auf zwei Jahre verkürzt worden. Die Kerninhalte umfassten Taktik, Kriegsgeschichte, Heeresversorgung, Heerestransportwesen, Heeresorganisation, Wehrwirtschaft, Pionierdienst, Landbefestigung und Kartenkunde. Parallel absolvierte Stauffenberg eine Dolmetscherausbildung in Englisch und besuchte Abendvorträge der Deutschen Gesellschaft für Wehrpolitik und Wehrwissenschaften. An der Kriegsakademie lernte er Albrecht Mertz von Quirnheim und Eberhard Finckh kennen, die später ebenfalls dem militärischen Widerstand angehörten. 1937 verfasste Stauffenberg, der am 1. Januar 1937 zum Rittmeister befördert worden war, eine Arbeit über „Gedanken zur Abwehr feindlicher Fallschirmeinheiten im Heimatgebiet“, mit der er ein Preisausschreiben der Deutschen Gesellschaft für Wehrpolitik und Wehrwissenschaften gewann. Die Arbeit wurde in der Militärfachzeitschrift Wissen und Wehr veröffentlicht. Eine zweite wissenschaftliche Studie beschäftigte sich mit dem Zusammenwirken von Heereskavallerie und Panzerverbänden und hob die Bedeutung einer operativen Beweglichkeit der Kampfführung hervor. Hierbei sei die Verwendung einer Kavallerie neben Panzerverbänden ausschlaggebend: Nach erfolgreicher Absolvierung der Kriegsakademie führte Stauffenbergs erste Stabsverwendung zur 1. Leichten Division nach Wuppertal. Dort trat er am 1. Juli 1938 den Posten als Zweiter Generalstabsoffizier (1b) an und war damit für die Divisionsversorgung zuständig. Sein Vorgesetzter war Generalleutnant Erich Hoepner. Stauffenberg bescheinigte man „großes Organisationstalent“ und er entwickelte anerkannte Qualitäten im Planen, Beschaffen und Versorgen. Die Division beteiligte sich nach dem Münchner Abkommen im Oktober 1938 am deutschen Einmarsch in das Sudetenland. Zweiter Weltkrieg Überfall auf Polen Im August 1939 erfolgte die Mobilmachung und Verlegung der 1. Leichten Division nach Schlesien. Dort unterstand sie als Teil der Heeresgruppe Süd der 10. Armee unter General der Artillerie Walter von Reichenau, die mit ihren motorisierten Verbänden den Hauptangriff auf die polnische Hauptstadt Warschau führen sollte. Den folgenden Kriegsausbruch am 1. September 1939 empfand der Berufssoldat Stauffenberg als „Erlösung“ und mit seiner Division marschierte er im Südwesten Polens ein. Nach der Besetzung Wieluńs am 2. September überschritt sie die Warthe und stieß bis zum 12. September nach Radom vor. Der im Tempo des Blitzkrieges vorgetragene schnelle Vormarsch bereitete der Wehrmacht und auch Stauffenberg als verantwortlichem Quartiermeister logistische Schwierigkeiten. Während des Feldzugs ließ Stauffenberg einen deutschen Offizier vor ein Militärgericht stellen, der zwei polnische Frauen hatte erschießen lassen. In einem Brief an seine Frau schilderte Stauffenberg seine Fronterfahrungen und Eindrücke aus Polen: Der Historiker Heinrich August Winkler führt das Briefzitat als Beleg dafür an, dass Stauffenberg zu dieser Zeit die nationalsozialistische Rassenpolitik grundsätzlich bejahte, wenn er sie auch für überspitzt hielt. Auch der israelische Historiker Saul Friedländer nimmt an, dass sich Stauffenbergs Haltung gegenüber dem Judentum nur graduell, aber nicht prinzipiell vom Antisemitismus der Nationalsozialisten unterschieden habe. Der Stauffenberg-Biograf Peter Hoffmann lehnt den Begriff „Antisemit“ für Stauffenberg dagegen ab und will den Feldpostbrief im Zusammenhang interpretiert haben. Auch seine Enkelin Sophie von Bechtolsheim sieht hier Stauffenberg auch als ein Kind seiner Zeit, aber lehnt es ab, aus diesem einen Zitat zentrale Aspekte der Persönlichkeit ihres Großvaters abzuleiten. Zum Ende der Kampfhandlungen in Polen stand Stauffenbergs Division zwischen Modlin und Warschau. Anschließend wurde die 1. Leichte Division an den Standort Wuppertal zurückgeführt und am 18. Oktober 1939 zur 6. Panzer-Division umgegliedert. Unter dem Befehl von Generalmajor Werner Kempf wurde sie sodann in ihren Bereitstellungsraum an der Westfront verlegt. Stauffenberg behielt seine Stellung als 1b im Divisionsstab. Westfeldzug Im Westen verharrte die Front in der passiven Phase des Sitzkrieges. Der Oberbefehlshaber des Heeres Walther von Brauchitsch und Generalstabschef Franz Halder hielten den von Hitler angekündigten militärischen Konflikt mit den Westmächten für nicht vertretbar. Kurzzeitig näherten sie sich der militärischen Opposition an und erklärten sich um die Jahreswende 1939/40 bereit, Hitler zu verhaften, sobald er den Angriffsbefehl geben würde. Peter Graf Yorck von Wartenburg und Ulrich Wilhelm Graf Schwerin von Schwanenfeld, die dem militärischen Widerstand bereits seit der Septemberverschwörung angehörten, baten Stauffenberg, sich zum Adjutanten Brauchitschs ernennen zu lassen, um an einem geplanten Umsturzversuch teilnehmen zu können. Stauffenberg, seit Januar 1940 Hauptmann i. G., lehnte die Bitte seines weitläufig Verwandten Yorck von Wartenburg mit Verweis auf den Führereid ab. Auch Brauchitsch und Halder ordneten sich Hitler schließlich unter und nahmen von einem Putsch Abstand. Stauffenbergs 6. Panzer-Division unterstand der Panzergruppe Kleist (Heeresgruppe A) und bildete nach Beginn der deutschen Offensive am 10. Mai 1940 einen Stoßkeil des Vormarschs durch die Ardennen. Dieser Angriff durch das vermeintlich verkehrshemmende Waldgebirge kam für die französische Heeresleitung unerwartet und war der Ausgangspunkt des kriegsentscheidenden Sichelschnittplans. Während der anschließenden Schlacht bei Sedan überquerte die Division bei Monthermé die Maas und stieß nahezu ungehindert bis zum Ärmelkanal vor. In einem Feldpost-Brief vom 19. Mai 1940 zeigte sich Stauffenberg von dem sich abzeichnenden militärischen Sieg über Frankreich tief beeindruckt: Noch vor Abschluss der Westoffensive wurde Stauffenberg von seiner Panzer-Division abgezogen und am 27. Mai 1940 zum Oberkommando des Heeres (OKH) versetzt. Für seine militärischen Leistungen erhielt er am 31. Mai 1940 das Eiserne Kreuz 1. Klasse. Im Oberkommando des Heeres Innerhalb des OKH übernahm Stauffenberg die Leitung der Gruppe II der Organisationsabteilung („Organisation im Frieden und Kriegsspitzengliederung“). Er war in eine Schlüsselstellung eingerückt, die ihm Einsichten gewährte, die dem normalen Generalstabsoffizier versagt blieben. In der Abteilung wurden die organisatorischen Angelegenheiten des Feldheeres bearbeitet: Bewaffnung, Ausrüstung, Kommandostruktur, Spitzengliederung, Neuaufstellungen, Planung und Materialhaltung. In Erwartung einer Invasion Großbritanniens (Unternehmen Seelöwe) verblieb die Kommandobehörde nach dem Sieg über Frankreich zunächst im Westen. Nach Hitlers Entschluss die Sowjetunion anzugreifen (Weisung Nr. 21), kehrte das OKH in das Hauptquartier nach Wünsdorf zurück. Stauffenbergs Referat arbeitete an der organisatorischen Vorbereitung des Unternehmens Barbarossa mit. Seine Beförderung zum Major i. G. erging im April 1941. Nach dem deutschen Angriff auf die Sowjetunion bezog das Oberkommando am 23. Juni 1941 das OKH Mauerwald in Ostpreußen. Im Dezember 1941 hieß von Stauffenberg die Vereinheitlichung der Befehlsgewalt des Oberbefehlshabers des Heeres und des Obersten Befehlshabers der Wehrmacht in Hitlers Händen gut. Als Gruppenleiter im Oberkommando des Heeres gehörte er zu den maßgebenden Offizieren, die bewusst auf einen Wandel der Politik in den besetzten Gebieten hinarbeiteten. Besonders im Zusammenhang mit der Kampfführung der in den Kaukasus vordringenden Heeresgruppe A hatte er sich den Fragen der Freiwilligen in den sogenannten Ostlegionen zugewandt. Es ging um die Gewinnung von entlassenen Kriegsgefangenen und Überläufern für den Kampf auf deutscher Seite. Hierzu gab seine Abteilung am 2. Juni 1942 Richtlinien für die Behandlung turkestanischer und kaukasischer Soldaten heraus und steuerte im August 1942 die Organisation wie auch den Einsatz der Ostlegionen. Am 1. Januar 1943 wurde Stauffenberg zum Oberstleutnant i. G. befördert. Nordafrika Nach über zwei Jahren im Stabsdienst bat Stauffenberg um eine Frontverwendung und er wurde im März 1943 als Erster Generalstabsoffizier (Ia) zur 10. Panzer-Division versetzt. Diese lag in Nordafrika und unterstand der 5. Panzerarmee, die den Rückzug von Erwin Rommels Panzergruppe Afrika gegen die Alliierten abdeckte. Bei Stauffenbergs Ankunft auf dem tunesischen Kriegsschauplatz war die deutsche Strategie bereits gescheitert. Ohne Nachschub und mit ständig abnehmender Kampfkraft war die Lage der Achsenmächte aussichtslos und sie hatten der alliierten Übermacht letztlich nichts entgegenzusetzen. Mit seinem neuen Kommandeur, Generalmajor Friedrich von Broich, verband Stauffenberg gleich ein Vertrauensverhältnis und seine herausragenden militärischen Fähigkeiten machten ihn zu einem geschätzten Offizier. Während des Rückzugs seiner Division nach Mezzouna geriet Stauffenbergs Kübelwagen am 7. April 1943 unter Beschuss britischer Jagdflieger und er wurde schwer verwundet. Man brachte Stauffenberg in ein Feldlazarett bei Sfax und dort mussten seine zerschossene rechte Hand sowie Ring- und Kleinfinger der linken Hand amputiert werden. Weil ein Geschoss bis in den Schädelknochen gelangt war, verlor er sein linkes Auge. Wenig später wurde Stauffenberg in das Kriegslazarett 950 nach Tunis-Carthago überführt und gelangte von dort am 21. April in das Reservelazarett München 1, wo er in der chirurgischen Abteilung von Max Lebsche behandelt wurde, mit dem er über eine bayerisch-österreichische Nachkriegslösung sprach. Ungeachtet zusätzlicher Kniegelenk- und Mittelohr-Operationen lehnte Stauffenberg die Einnahme von Schmerzmitteln ab und mit der linken Hand, soweit noch gebrauchsfähig, lernte er schreiben. Zahlreiche Besucher strömten an Stauffenbergs Krankenbett, der aus den Händen des Generalstabschefs Kurt Zeitzler das Goldene Verwundetenabzeichen und am 8. Mai 1943 das Deutsche Kreuz in Gold erhielt. In München wurde Stauffenberg durch seinen Onkel Nikolaus Graf von Üxküll-Gyllenband betreut, der große Hoffnungen in seinen Neffen setzte und ihn beschwor, aktiv in den Widerstand einzutreten. Stauffenberg reiste auch zu dem berühmten Chirurgen Ferdinand Sauerbruch nach Berlin. Nach zehnwöchigem Aufenthalt im Lazarett kehrte Stauffenberg am 3. Juli 1943 zu seiner Familie nach Lautlingen zurück. Abkehr von Hitler Während der Stabsoffizier Henning von Tresckow sich bereits im Herbst 1941 der Berliner Widerstandsgruppe um Ludwig Beck, Carl Friedrich Goerdeler und Hans Oster angeschlossen hatte, fühlte sich von Stauffenberg wie viele andere Militärs zunächst weiter durch seinen Treueid an Hitler gebunden. Erst im Herbst 1943 ließ er sich nach Berlin versetzen und suchte dort bewusst Kontakt zu den Hitlergegnern um General der Infanterie Friedrich Olbricht, dem Leiter des Allgemeinen Heeresamtes, und von Tresckow. Er war sich bewusst, dass nur die Wehrmacht als einzige von der Geheimen Staatspolizei (Gestapo) und vom Sicherheitsdienst (SD) kaum infiltrierte Organisation über die nötigen Machtmittel zum Umsturz verfügte. Gemeinsam mit seinem Bruder Berthold und mit den Mitgliedern des Kreisauer Kreises war er an den Entwürfen zu Regierungserklärungen für die Zeit nach dem Umsturz beteiligt. Die Verschwörer legten ihre Ziele auf die Beendigung des Krieges und der Judenverfolgung und auf die Wiederherstellung des Rechtsstaates fest, wie er bis 1933 bestanden hatte. Auf eine angestrebte Staatsform konnten sie sich nicht einigen. Ein Großteil der aus den konservativen Kreisen von Bürgertum, Adel und Militär stammenden Verschwörer lehnte die parlamentarische Demokratie ab, so auch von Stauffenberg. Andererseits scheint Stauffenberg trotz (oder sogar wegen) teils elitär-paternalistischer Wertvorstellungen auch eine Sympathie für einen „Preußischen Sozialismus“ gehabt zu haben. Er forderte die Aufnahme von Sozialdemokraten wie Julius Leber in die neu zu bildende Regierung, den er zeitweise sogar für das Amt des Reichskanzlers favorisiert haben soll. Durch Vermittlung seines Cousins Peter Graf Yorck von Wartenburg hatte er Leber kennengelernt. Es entstand ein enges Vertrauensverhältnis. Laut dem Mitverschwörer Hans Bernd Gisevius erstrebte der engere Kreis um von Stauffenberg ab 1944 ein Bündnis mit den Kommunisten, um eine möglichst breite Unterstützung für den Umsturz und eine danach zu erschaffende Neuordnung des Staates zu erlangen. Am 22. Juni 1944 kam es in Absprache mit von Stauffenberg zu einem Gespräch zwischen den Sozialdemokraten Julius Leber und Adolf Reichwein und den Kommunisten Anton Saefkow und Franz Jacob, die in Berlin an der Spitze des kommunistischen Widerstandes standen. Weitere Treffen sollten folgen, da das Gespräch äußerst konstruktiv verlief. Doch von Stauffenbergs Vertrauter Julius Leber wurde infolge des Treffens mit den Vertretern der Saefkow-Jacob-Bästlein-Organisation verhaftet, bei dem auch ein Spitzel der Gestapo (Ernst Rambow) anwesend war. Die Bestrebungen, die Kommunisten in die Planungen des Umsturzes enger einzubinden, scheiterten insofern in erster Linie an der Repression der Verfolger. Nach der Verhaftung Lebers Anfang Juli 1944 soll von Stauffenberg gegenüber Adam von Trott zu Solz immer wieder erklärt haben: „Ich hole ihn heraus.“ Für Lebers Rettung schien aus Sicht von Stauffenberg kein Preis zu hoch zu sein. Schließlich vertrat er die Ansicht, das Wichtigste sei zunächst die Beseitigung des NS-Regimes, alles andere werde sich dann finden. Innerlich stand Stauffenberg auch Fritz-Dietlof Graf von der Schulenburg sehr nahe, der ein möglichst breites Netzwerk der Verschwörung schrittweise ausbaute. Im Juli 1944 traf der engere Verschwörerkreis in Berlin-Wannsee im Haus Bertholds zusammen. Sie legten einen von Rudolf Fahrner und Berthold entworfenen Eid ab, in dem sie sich auf ein gemeinsames Handeln nach dem Staatsstreich, selbst im Falle der Besetzung Deutschlands, verpflichteten. Wegen dieser elitären, als „antidemokratisch“ und „nationalistisch“ interpretierten Haltung, die bis in die Formulierungen hinein dem Denken des George-Kreises verpflichtet war, glaubt der britische Historiker Richard J. Evans, dass von Stauffenberg an zukunftsweisendem politischen Gedankengut „nichts zu bieten“ hatte. „Als Vorbild für künftige Generationen“ sei er „schlecht geeignet“. Operation „Walküre“ Die Planung Aus Schonungsgründen stellte Generalstabschef Zeitzler den schwerverwundeten Stauffenberg bis auf weiteres dem Befehlshaber des Ersatzheeres in Berlin zur Verfügung. Diese Versetzung kam General Friedrich Olbricht, dem Leiter des Allgemeinen Heeresamtes und führenden Kopf der militärischen Verschwörung, gelegen, weil er um Stauffenbergs innere Wende wusste. Mitte September 1943 zog Stauffenberg in die Villa seines Bruders Berthold nach Berlin-Nikolassee und trat seine neue Stellung im Heeresamt am 1. Oktober 1943 offiziell an. Er unterstand Olbricht, womit er fortan dem inneren Zirkel des militärischen Widerstands im Bendlerblock angehörte und baute mit dessen Förderung ein militärisch-oppositionelles Netz auf. Gemeinsam mit Olbricht, Albrecht Mertz von Quirnheim und Henning von Tresckow arbeitete Stauffenberg die Planungen für das Unternehmen Walküre aus. Offiziell diente der Operationsplan der Niederwerfung möglicher Unruhen im Inneren, etwa bei einem Aufstand der zahlreichen Zwangsarbeiter. Stauffenberg und Tresckow fügten dem Plan einige weitere Befehle hinzu und machten so aus Walküre einen getarnten Umsturzplan für einen Staatsstreich. Er sah vor, die Ermordung Hitlers zunächst einer Gruppe „frontfremder Parteifunktionäre“ anzulasten, um damit einen Grund für die Verhaftung der Angehörigen von NSDAP, SS, Sicherheitsdienst und Gestapo zu haben. Die Befehlshaber der Wehrkreiskommandos im gesamten Großdeutschen Reich sollten sofort nach der Auslösung von Walküre entsprechende Befehle erhalten. Das Militär sollte die ausführende Gewalt übernehmen. Für Stauffenberg sahen die Umsturzpläne den Rang eines Staatssekretärs im Reichskriegsministerium vor. Er koordinierte die Attentatspläne mit Carl Friedrich Goerdeler und Generaloberst Ludwig Beck und hielt Verbindung zum zivilen Widerstand um Julius Leber, Wilhelm Leuschner sowie zu den Mitgliedern des Kreisauer Kreises, zu dem auch sein Cousin Peter Graf Yorck von Wartenburg gehörte. Nach der Verhaftung Helmuth James Graf von Moltkes im Januar 1944 fanden keine Treffen des Kreisauer Kreises mehr statt. Die Mehrheit der Mitglieder stellte sich von Stauffenberg – trotz Moltkes Vorbehalten gegen eine Tötung Hitlers – zur Verfügung. Spätestens mit der erfolgreichen Invasion der Alliierten in der Normandie am 6. Juni 1944 war deutlich geworden, dass eine militärische Niederlage und damit ein „Zusammenbruch“ des Deutschen Reichs wohl nicht mehr abwendbar war. Stauffenberg fühlte sich aus ähnlichen Gründen wie Tresckow dennoch verpflichtet, die Vorbereitungen zum Staatsstreich durch eine gewaltsame Beseitigung der nationalsozialistischen Führung voranzutreiben: Mitte Juni 1944 wurde Stauffenberg Chef des Stabes des Befehlshabers des Ersatzheeres Generaloberst Friedrich Fromm und am 1. Juli 1944 zum Oberst i. G. befördert. Damit saß er nun gemeinsam mit Olbricht und Mertz von Quirnheim in der Schaltzentrale für die geplante Operation Walküre und erhielt Zugang zu den Lagebesprechungen in den Führerhauptquartieren. Ein heikler Punkt des Plans war, dass von Stauffenberg sowohl das Attentat ausführen, als auch von Berlin aus den Staatsstreichversuch leiten musste. Bereits am 11. Juli auf dem Berghof und am 15. Juli im Führerhauptquartier Wolfsschanze versuchte von Stauffenberg, Adolf Hitler zu töten. Beide Versuche brach er vorzeitig ab, weil entweder Heinrich Himmler und/oder Hermann Göring nicht anwesend waren. Ein drittes Mal sollte der Anschlag unter keinen Umständen verschoben werden. Attentat und Staatsstreich Die nächste Gelegenheit ergab sich rein zufällig am 18. Juli, als von Stauffenberg für den übernächsten Tag ins Führerhauptquartier bestellt wurde, um dort über geplante Neuaufstellungen von Truppen zu berichten. Die Widerstandsgruppe hatte bereits die Mitglieder einer Nachfolgeregierung bestimmt. Es musste nur noch Hitler „beseitigt“ werden. Von Stauffenberg flog am 20. Juli um 8:00 Uhr mit seinem Adjutanten, Oberleutnant Werner von Haeften, vom Flugplatz Rangsdorf bei Berlin zur Wolfsschanze bei Rastenburg in Ostpreußen. Da die Besprechung wegen eines geplanten Besuchs von Benito Mussolini unerwartet um eine halbe Stunde vorverlegt wurde, gelang es ihm nur noch, mit einer speziell für ihn angepassten Zange (er besaß nur noch drei Finger an seiner linken Hand), eines der beiden Sprengstoffpäckchen mit einem aktivierten britischen Bleistiftzünder (chemisch-mechanischen Zeitzünder) zu versehen. Das zweite Sprengstoffpäckchen, das die Sprengwirkung zweifellos erhöht hätte, steckte er nicht mit in seine Aktentasche. Dazu kam, dass die Besprechung nicht wie üblich in einem Betonbunker, sondern in einer leichten Holzbaracke stattfand und die Sprengladung so nicht die erhoffte Wirkung entfalten konnte. Von Stauffenberg stellte sie etwa zwei Meter entfernt von Hitler neben einem massiven Tischblock (der wohl die Wirkung weiter abschwächte) ab und verließ die Baracke unter dem Vorwand, telefonieren zu müssen. Die Sprengladung detonierte um 12:42 Uhr in der mit 24 Personen gefüllten Holzbaracke. Hitler und weitere 19 Anwesende überlebten die Detonation. Von Stauffenberg und Haeften konnten in der allgemeinen Verwirrung nach dem Anschlag die Wolfsschanze rechtzeitig verlassen, warfen die verbleibende Sprengladung auf der Fahrt zum Flugplatz Rastenburg aus dem offenen Wagen und flogen nach Berlin zurück, im festen Glauben, Hitler sei tot. Bereits wenige Minuten nach der Explosion gelangte aber die Nachricht, dass Hitler überlebt hatte, nach Berlin: Propagandaminister Joseph Goebbels erhielt bereits gegen 13 Uhr in Berlin telefonisch Kenntnis vom misslungenen Attentat. Kurz darauf bestätigte der Mitverschwörer Oberst Hahn dem General Thiele im Bendlerblock in einem weiteren Telefonat aus der Wolfsschanze ausdrücklich, dass Hitler das Attentat überlebt habe. Thiele benachrichtigte die Generäle Friedrich Olbricht und Hoepner von den Ferngesprächen, sie einigten sich darauf, Walküre zunächst noch nicht auszulösen. Noch während von Stauffenberg auf dem Rückflug nach Berlin war, bekam Heinrich Müller, Chef der Geheimen Staatspolizei (Gestapo), den Auftrag, von Stauffenberg zu verhaften. Gegen 15:45 Uhr landete von Stauffenberg in Berlin, beteuerte in einem Telefonat mit Olbricht wahrheitswidrig, dass er mit eigenen Augen gesehen habe, dass Hitler tot sei, und begab sich zu Olbricht in den Bendlerblock. Erst gegen 16:30 Uhr, fast vier Stunden nach dem Attentat, wurde Walküre ausgelöst. Es zeigten sich jetzt aber schwere Mängel in Vorbereitung und Durchführung des Umsturzversuchs. So zog sich das Aussenden der Fernschreiben aus dem Bendlerblock in die Wehrkreise über Stunden hin und kreuzte sich bereits ab etwa 16 Uhr mit Fernschreiben aus der Wolfsschanze, dass Befehle aus dem Bendlerblock ungültig seien. Die meisten Offiziere außerhalb des Bendlerblocks verhielten sich wegen dieser widersprüchlichen Lage abwartend. Die Fernschreiben der Verschwörer mit den Walküre-Befehlen wurden weitgehend nicht befolgt. Zwar hielten sich Georg und Philipp Freiherr von Boeselager bereit, um mit ihren Regimentern auf das „führerlose“ Berlin zu marschieren, und von Stauffenberg, Olbricht, Mertz von Quirnheim und Haeften ließen Generaloberst Fromm verhaften, der sie bis dahin gedeckt hatte, aber angesichts der unsicheren Nachrichtenlage von einer Beteiligung an dem Umsturzversuch nichts mehr wissen wollte. Der Einmarsch der Truppen unterblieb aber, und am späten Abend meldete sich Hitler selbst in einer Rundfunkansprache zu Wort. Das Ende des Staatsstreichversuches Gegen 22:30 Uhr verhaftete eine Gruppe regimetreuer Offiziere, unter ihnen Otto Ernst Remer, von Stauffenberg und die Mitverschwörer. Generaloberst Fromm gab unter Berufung auf ein Standgericht, das angeblich stattgefunden habe, noch am Abend des 20. Juli den Befehl, Claus Schenk Graf von Stauffenberg gemeinsam mit Werner von Haeften, Albrecht Ritter Mertz von Quirnheim und Friedrich Olbricht zu erschießen; „[d]ie Erschießungen können kurz vor oder kurz nach Mitternacht erfolgt sein“. Die Exekution fand im Hof des Bendlerblocks statt, von Stauffenbergs letzte Worte sollen der Ausruf „Es lebe das heilige Deutschland!“ gewesen sein, nach anderen Quellen rief er in Anspielung auf die Ideenwelt Stefan Georges „Es lebe das Geheime Deutschland!“ Am folgenden Tag wurden die Leichen der Erschossenen mit ihren Uniformen und Ehrenzeichen auf dem Alten St.-Matthäus-Kirchhof Berlin bestattet. Himmler ließ sie ausgraben und ordnete ihre Verbrennung im Krematorium Berlin-Wedding an. Ihre Asche wurde über die Rieselfelder von Berlin verstreut. Folgen für die Familien der Verschwörer Himmler plante, die Familien der Verschwörer zu ermorden und die Familiennamen auszulöschen. Die zunächst ins Auge gefasste Blutrache wurde wieder verworfen und stattdessen eine umfangreiche Sippenhaft befohlen. Von Stauffenbergs schwangere Ehefrau Nina Schenk Gräfin von Stauffenberg wurde in das Konzentrationslager Ravensbrück deportiert. In ihrer Einzelhaft 1944 schrieb sie ein Gedicht in Gedanken an ihren Mann: Du bist bei mir, wenn auch Dein Leib verging. Und immer ist’s, als ob Dein Arm mich noch umfing. Dein Auge strahlt mir zu im Wachen und im Traum. Dein Mund neigt sich zu mir. Dein Flüstern schwingt im Raum: Aufgrund der anstehenden Geburt wurde sie in ein NS-Frauenentbindungsheim in Frankfurt (Oder) verlegt, wo das fünfte Kind der Familie, Konstanze, am 27. Januar 1945 zur Welt kam. Die vier älteren Kinder wurden in das Kinderheim im Borntal bei Bad Sachsa verbracht. Es gab Pläne, sie nationalsozialistischen Familien zur Adoption zu übergeben. Sie erhielten andere Nachnamen (die Stauffenberg-Kinder hießen ab sofort „Meister“) und verblieben dort bis nach dem Kriegsende. Erst am 7. Juni 1945 konnte ihre Großtante Alexandrine Gräfin von Üxküll-Gyllenband sie abholen. Nachleben Im Zusammenhang mit dem Attentat kam es zu zahlreichen postumen Ehrungen: Gedenktafeln befinden sich unter anderem in der Gedenkstätte Deutscher Widerstand im Bendlerblock in Berlin (seit 1960), in der Lönsstraße in Wuppertal (seit 1984) und im Bamberger Dom. In mehreren deutschen Städten gibt es nach Graf von Stauffenberg benannte Straßen oder Plätze. Am 20. Juli 1955 wurde die bisherige Bendlerstraße am Bendlerblock in Stauffenbergstraße umbenannt. Die Kaserne der Bundeswehr in Sigmaringen trägt seit dem 20. Juli 1961 den Namen Graf-Stauffenberg-Kaserne. 1964 wurde auf ihrem Gelände ein Gedenkstein zur Erinnerung an von Stauffenberg enthüllt. Um trotz Schließung der Kaserne in Sigmaringen den Namen zu erhalten, wurde die Albertstadt-Kaserne in Dresden 2013 in Graf-Stauffenberg-Kaserne umbenannt. Die Deutsche Bundespost widmete 1964 von Stauffenberg zum 20. Jahrestag des Attentats eine von E. und Gerd Aretz gestaltete Briefmarke aus einem Block. Eine Briefmarke aus der Serie Aufrechte Demokraten zum 100. Geburtstag von von Stauffenberg und Helmuth James Graf von Moltke aus dem Jahre 2007 wurde von Irmgard Hesse entworfen. Seit 1967 trägt die 1965 als 4. Jungengymnasium in Osnabrück gegründete Schule den Namen Graf-Stauffenberg-Gymnasium. Seit dem 9. Februar 1979 trägt die Städtische Realschule in Bamberg den Namen Graf-Stauffenberg-Realschule. Auch die städtische Wirtschaftsschule hat den Widerstandskämpfer seit 1979 als Namenspatron. Ein früher in demselben Gebäude untergebrachtes, aber mittlerweile in ein anderes Gymnasium integriertes Wirtschaftsgymnasium trug ebenfalls den Namen Graf-Stauffenberg-Gymnasium. In Flörsheim am Main existiert ebenfalls ein Graf-Stauffenberg-Gymnasium. Die Deutsche Demokratische Republik wollte 1990 den Stauffenberg-Orden für militärische Verdienste stiften, wozu es aufgrund der Wiedervereinigung nicht mehr kam. Am 3. April 2000 wurde eine Büste von Stauffenbergs in der Bayerischen Ruhmeshalle enthüllt. Im Stuttgarter „Alten Schloss“ wurde 2006 eine Erinnerungsstätte des Landes Baden-Württemberg eröffnet. Zum 100. Geburtstag von Stauffenbergs, der unter anderem mit einem Großen Zapfenstreich einer Bundeswehrdivision begangen wurde, wurde am 15. November 2007 im Stauffenberg-Schloss in Lautlingen eine neue Gedenkstätte eröffnet; sie wurde gefördert von der Landesstiftung Baden-Württemberg und Sponsoren aus der Wirtschaft. Die Stadt Dresden benannte im Stadtteil Albertstadt eine Straße „Stauffenbergallee“. Die an diese Straße grenzende Offizierschule des Heeres, an der er selbst ausgebildet worden war, benannte den großen Traditionslehrsaal „Stauffenbergsaal“. Von Stauffenberg zu Ehren tragen die Offizierlehrgänge des 71. OAJ (Offizieranwärterjahrgang) des Deutschen Heeres seinen Namen. Alljährlich finden am 20. Juli Feierstunden der Bundesregierung und öffentliche Gelöbnisse der Bundeswehr in Erinnerung an das gescheiterte Attentat auf Hitler statt. Seit 2008 wird das Feierliche Gelöbnis im Wechsel am Berliner Dienstsitz des BMVg, Bendlerblock und vor dem Reichstagsgebäude abgehalten. Film Von Stauffenberg wurde im Film unter anderem von folgenden Schauspielern dargestellt: Bernhard Wicki in Es geschah am 20. Juli (1955) Wolfgang Preiss in Der 20. Juli (1955) Gérard Buhr in Die Nacht der Generale (1967) Alfred Struwe in Befreiung – Teil 3: Die Hauptstoßrichtung (1969) Horst Naumann in Claus Graf Stauffenberg (1970) Joachim Hansen in Operation Walküre (1971) Brad Davis in Stauffenberg – Verschwörung gegen Hitler (1990) Harald Schrott in Die Stunde der Offiziere (2004) Sebastian Koch in Stauffenberg (2004) Tom Cruise in Operation Walküre – Das Stauffenberg-Attentat (2008) Peter Becker in Stauffenberg – Die wahre Geschichte (2009) Oscar Beregi Jr. in Ein Käfig voller Helden. (Staffel 2, Folge 4). General Stauffen besucht das Stalag 13, um dort den Sprengstoff für das Attentat auf Hitler in Empfang zu nehmen. Bühnenstück David Sternbach: Stauffenberg – Die Tragödie des 20. Juli 1944. 1984, D. Als Buch im Dieve Verlag; 2. Auflage 1994, ISBN 3-927131-00-8. Siehe auch Personen des 20. Juli 1944 Literatur Bücher Sophie von Bechtolsheim: Stauffenberg. Mein Großvater war kein Attentäter. Herder, Freiburg/ Basel/ Wien 2019, ISBN 978-3-451-07217-8. Ursula Brekle: Familie Stauffenberg – Hitlers Rache. Bertuch, Weimar 2018, ISBN 978-3-86397-097-0. Ulrich Cartarius: Opposition gegen Hitler: Bilder Texte, Dokumente. Neuausgabe. Siedler, Berlin 1994, ISBN 3-88680-523-9 (Gesamtdarstellung des Widerstands). Marion Gräfin Dönhoff: Um der Ehre Willen. Erinnerungen an die Freunde vom 20. Juli. Siedler, Berlin 1994, ISBN 3-88680-532-8. Allen Welsh Dulles: Verschwörung in Deutschland. Schleben, Kassel 1949. (englisch) Originalausgabe: Germany’s Underground. Macmillan, New York 1947. Joachim Fest: Staatsstreich. Der lange Weg zum 20. Juli. Siedler, Berlin 1994, ISBN 3-88680-539-5 (Gesamtdarstellung v. a. des militärischen Widerstands). Hans Bernd Gisevius: Bis zum bittern Ende: Vom 30. Juni 1934 zum 20. Juli 1944. Ullstein, Frankfurt am Main/ Berlin 1964. Winfried Heinemann: Unternehmen „Walküre“. Eine Militärgeschichte des 20. Juli 1944. De Gruyter Oldenbourg, Berlin 2019, ISBN 978-3-11-063275-0. Peter Hoffmann: Claus Schenk Graf von Stauffenberg und seine Brüder. DVA, Stuttgart 1992, ISBN 3-421-06533-0. Peter Hoffmann: Stauffenberg und der 20. Juli 1944. 2. Auflage. Beck, München 2007, ISBN 978-3-406-43302-3. Peter Hoffmann: Claus Schenk Graf von Stauffenberg: die Biographie. 4. Auflage. Pantheon Verlag, München September 2017, ISBN 978-3-570-55046-5. Jakobus Kaffanke, Thomas Krause, Edwin Ernst Weber (Hrsg.): Es lebe das „Geheime Deutschland“! Claus Schenk Graf von Stauffenberg. Person – Motivation – Rezeption. Beiträge des Sigmaringer Claus von Stauffenberg-Symposiums von 11. Juli 2009 (= Anpassung – Selbstbehauptung – Widerstand. Bd. 30). 2011, ISBN 978-3-643-10144-0. Thomas Karlauf: Stauffenberg: Porträt eines Attentäters. Blessing, München 2019, ISBN 978-3-89667-411-1. Rezension von Sarah Pines, NZZ, 20. Juli 2019. Joachim Kramarz: Claus Graf von Stauffenberg. 15. November 1907 – 20. Juli 1944. Das Leben eines Offiziers. Bernard & Graefe, Frankfurt am Main 1965. Christian Graf von Krockow: Eine Frage der Ehre. Stauffenberg und das Hitler-Attentat vom 20. Juli 1944. Rowohlt, Berlin 2002, ISBN 3-87134-441-9. (als Taschenbuch Rowohlt, Hamburg 2004, ISBN 3-499-61494-4) Christian Müller: Oberst i. G. Stauffenberg. Eine Biographie. Droste, Düsseldorf 1970, ISBN 3-7700-0228-8. Arnim Ramm: Kritische Analyse der Kaltenbrunner-Berichte über die Attentäter vom 20. Juli 1944. Ein Beitrag zur Geschichte des militärischen Widerstandes. Tectum, Marburg, 2003, ISBN 3-8288-8575-6. Manfred Riedel: Geheimes Deutschland. Stefan George und die Brüder Stauffenberg. Böhlau, Köln 2006, ISBN 3-412-07706-2.(Rezension von Gunilla Eschenbach, In: H-Soz-u-Kult. 31. Januar 2007.) Bodo Scheurig: Claus Graf von Stauffenberg. Colloquium, Berlin 1964. Ulrich Schlie: Claus Schenk Graf von Stauffenberg. Biografie. Herder, Freiburg im Breisgau 2018, ISBN 978-3-451-03147-2. Berthold Schenk Graf von Stauffenberg: Ein Kind als Volksfeind. In: Thomas Vogel (Hrsg.): Aufstand des Gewissens – Militärischer Widerstand gegen Hitler und das NS-Regime 1933–1945. Mittler, Hamburg/ Berlin/ Bonn 2001, ISBN 3-8132-0708-0, S. 287–295. Harald Steffahn: Stauffenberg. 3. Auflage. Rowohlt, Reinbek bei Hamburg 2002, ISBN 3-499-50520-7. Peter Steinbach: Claus von Stauffenberg-– Zeuge im Feuer. DRW, Leinfelden-Echterdingen 2007, ISBN 978-3-87181-709-0. Gerd R. Ueberschär: Stauffenberg. Der 20. Juli 1944. Fischer, Frankfurt am Main 2004, ISBN 3-10-086003-9. Wolfgang Venohr: Stauffenberg. Symbol des Widerstands. 3. Auflage. Herbig, München 2000, ISBN 3-7766-2156-7. Eberhard Zeller: Oberst Claus Graf Stauffenberg. Ein Lebensbild. Schöningh, Paderborn u. a. 1994, ISBN 3-506-79770-0. Eberhard Zeller: Geist der Freiheit. Der zwanzigste Juli. 1952. (Neuauflage: Edition JF, Berlin 2004, ISBN 3-929886-20-0) Artikel Micha Brumlik: Die Ikonisierung Stauffenbergs. In: Blätter für deutsche und internationale Politik. Ausgabe 10/2007, S. 1209–1220. Richard J. Evans: Sein wahres Gesicht. In: Süddeutsche Zeitung, Magazin, Nr. 4/2009. Eberhard Fritz: Claus Schenk Graf von Stauffenberg und die Herzöge von Württemberg. Überlegungen zu den Motiven des Attentats vom 20. Juli 1944. In: Zeitschrift für Hohenzollerische Geschichte. Bd. 47, 2012, S. 225–261. Thomas Karlauf: Stauffenberg. Eine Motivsuche. In: Sinn und Form. Nr. 1/2010, S. 5–17. Hedwig Maier: Die SS und der 20. Juli 1944. In: Vierteljahrshefte für Zeitgeschichte. Bd. 14, Heft 3, 1966, S. 299–316 (PDF). Tim Pröse: Hitler-Attentäter des 20. Juli 1944 – „Immer wieder denke ich: Hättest du ihn doch nur erschossen!“ In: einestages. 18. Juli 2019. Weblinks Susanne Eckelmann: Claus Schenk Graf von Stauffenberg, Biografie auf der Internetseite von DHM/LeMO, August 1999 Claus Graf Schenk von Stauffenberg (1934). In: Deutsche Geschichte in Dokumenten und Bildern. Deutsches Historisches Institut Washington Einzelnachweise Claus Widerstandskämpfer des 20. Juli 1944 Oberleutnant (Reichswehr) Oberst im Generalstab (Heer der Wehrmacht) George-Kreis Titulargraf Hitler-Attentäter Dolmetscher NS-Opfer Träger des Deutschen Kreuzes in Gold Person (Albstadt) Deutscher Geboren 1907 Gestorben 1944 Mann


text: C++ ist eine von der ISO genormte Programmiersprache. Sie wurde ab 1979 von Bjarne Stroustrup bei AT&T als Erweiterung der Programmiersprache C entwickelt. C++ ermöglicht sowohl die effiziente und maschinennahe Programmierung als auch eine Programmierung auf hohem Abstraktionsniveau. Der Standard definiert auch eine Standardbibliothek, zu der verschiedene Implementierungen existieren. Einsatzgebiete C++ wird sowohl in der Systemprogrammierung als auch in der Anwendungsprogrammierung eingesetzt und gehört in beiden Bereichen zu den verbreitetsten Programmiersprachen. Systemprogrammierung Typische Anwendungsfelder in der Systemprogrammierung sind Betriebssysteme, eingebettete Systeme, virtuelle Maschinen, Treiber und Signalprozessoren. C++ nimmt hier oft den Platz ein, der früher ausschließlich Assemblersprachen und der Programmiersprache C vorbehalten war. Anwendungsprogrammierung Bei der Anwendungsprogrammierung kommt C++ vor allem dort zum Einsatz, wo hohe Anforderungen an die Effizienz gestellt werden, um durch technische Rahmenbedingungen vorgegebene Leistungsgrenzen möglichst gut auszunutzen. Ab dem Jahr 2000 wurde C++ aus der Domäne der Anwendungsprogrammierung von den Sprachen Java und C# zurückgedrängt. Eigenschaften Sprachdesign Die Sprache C++ verwendet nur etwa 60 Schlüsselwörter („Sprachkern“), manche werden in verschiedenen Kontexten (static, default) mehrfach verwendet. Ihre eigentliche Funktionalität erhält sie, ähnlich wie auch die Sprache C, durch die C++-Standardbibliothek, die der Sprache fehlende wichtige Funktionalitäten beibringt (Arrays, Vektoren, Listen, ...) wie auch die Verbindung zum Betriebssystem herstellt (iostream, fopen, exit, ...). Je nach Einsatzgebiet kommen weitere Bibliotheken und Frameworks dazu. C++ legt einen Schwerpunkt auf die Sprachmittel zur Entwicklung von Bibliotheken. Dadurch favorisiert es verallgemeinerte Mechanismen für typische Problemstellungen und besitzt kaum in die Sprache integrierte Einzellösungen. Eine der Stärken von C++ ist die Kombinierbarkeit von effizienter, maschinennaher Programmierung mit mächtigen Sprachmitteln, die einfache bis komplexe Implementierungsdetails zusammenfassen und weitgehend hinter abstrakten Befehlsfolgen verbergen. Dabei kommt vor allem die Template-Metaprogrammierung zum Zuge: Eine Technik, die eine nahezu kompromisslose Verbindung von Effizienz und Abstraktion erlaubt. Einige Design-Entscheidungen werden allerdings auch häufig kritisiert: Ressourcenverwaltung C++ hat keine Garbage Collection, allerdings gibt es Bestrebungen, Garbage-Collection durch Bibliotheken oder durch Aufnahme in den Sprachstandard zu ermöglichen. Siehe auch Boehm-Speicherbereinigung. Es ist möglich die Speicherverwaltung von C (malloc/realloc/free) zu verwenden; zur Implementierung von Low-Level-Funktionen in Bibliotheken wie der C++-Standardbibliothek ist dies zum Zugriff auf C Bibliotheksfunktionen notwendig. In allgemeinem C++-Code wird hiervon jedoch dringend abgeraten. Stattdessen ist es dort üblich, die Speicherverwaltung von der C++-Standardbibliothek übernehmen zu lassen, indem man die angebotenen Containerklassen verwendet. Andere Ressourcen, z. B. Dateihandles oder Netzwerksockets werden in C++ üblicherweise in eigenen Klassen mit dem Prinzip RAII verwaltet, um das automatische Aufräumen nach der Verwendung sicherzustellen. Dies ist konzeptionell in anderen Programmiersprachen oft mit der Implementierung spezieller Basisklassen/Schnittstellen gestaltet – wie z. B. „AutoCloseable“ in Java oder „IDisposable“ in C#. In anderen Programmiersprachen benötigen diese nicht verwalteten Ressourcen oft ein spezielles Handling (z. B. „using“ Schlüsselwort in C#), um die Lebenszeit dieser Objekte Ausnahmesicher in Verbindung mit dem Garbage Collector zu verwalten. Die RAII basierten Implementierungen in C++ sind konzeptbedingt nicht anfällig bezüglich dieser Probleme da Speicher in C++ keinen Sonderstatus als Ressource hat. Eine korrekte Implementierung der Objektlebenszeit garantiert hier die Freigabe aller Ressourcen. Für Verweise auf Objekte werden üblicherweise Referenzen verwendet, solange der Verweis das Objekt nicht besitzen soll – z. B. als Parameter bei Funktionsaufrufen. Um den Besitz von dynamisch allokierten Objekten zu verwalten werden üblicherweise Smart Pointer eingesetzt, welche die Destruktion und Speicherfreigabe übernehmen. Die Standardbibliothek unterscheidet hier strikt den Besitz. Während beim unique_ptr nur dieser Zeiger den Speicher besitzt, kann der Besitz des Speichers beim shared_ptr zwischen mehreren Zeigerinstanzen geteilt werden. Technisch realisiert ist dies beim shared_ptr meist mit Reference counting. Unvollständige Objektorientierung Sichtbarkeit privater Elemente In C++ gehören private Eigenschaften (Variablen und Methoden) normalerweise mit zur Schnittstelle, die in der Header-Datei veröffentlicht ist. Dadurch entstehen zur Compilezeit und zur Laufzeit Abhängigkeiten der Objekte zu den Stellen, die sie verwenden. Diese Abhängigkeiten können durch bestimmte Konstruktionen, wie dem pimpl-Idiom (), vermieden werden. Dabei werden die privaten Felder der Klasse (example_class) in eine private, vorwärts-deklarierte Hilfsklasse verschoben, und ein Zeiger auf ein Objekt dieser Hilfsklasse (example_class::impl * impl_ptr) bleibt in der eigentlichen Klasse. Die Definition der implementierenden Klasse findet bei der Implementierung der öffentlichen Klasse statt und ist damit für den Verwender der Klasse (der nur die Header-Datei kennt) unsichtbar. Dadurch, dass die Hilfsklasse nur durch einen Zeiger referenziert wird, bleiben alle Quelltextänderungen an privaten Feldern transparent und die Binärkompatibilität wird erhalten. Unvollständige Kapselung In C++ sind die Speicherbereiche der einzelnen Objekte zur Laufzeit nicht vor (absichtlichen oder versehentlichen) gegenseitigen Änderungen geschützt. Undefiniertes Verhalten Das Verhalten von einigen Sprachkonstrukten ist nicht definiert. Dies bedeutet, dass der Standard weder vorgibt noch empfiehlt, was in einem solchen Fall passiert. Die Auswirkungen reichen von Implementierungsabhängigkeit (d. h. je nach Zielrechner und Compiler kann sich das Konstrukt unterschiedlich verhalten) über unsinnige Ergebnisse oder Programmabstürze bis hin zu Sicherheitslücken. Einige dieser Freiheiten des Compilers lassen zusätzliche Optimierungen des Codes zu. Es kommt zu unterschiedlichem Verhalten bei verschiedenen Compilern verschiedenen Compiler-Versionen verschiedener Architektur (ARM, x86, x64) verschiedenen Optimierungseinstellungen (Debug, Release, Optimierung) ausgewählter Befehlssatz, Aufrufkonventionen, u. v. a. m. Quellcode mit Codepassagen mit undefiniertem Verhalten kann nach der Kompilierung unerwartetes und absurd erscheinenden Verhalten zeigen. So werden zu spät durchgeführte Überprüfungen wegoptimiert oder Schleifen, die auf einen ungültigen Index eines Arrays zugreifen, durch leere Endlosschleifen ersetzt. Wichtig für das Verständnis von undefiniertem Verhalten ist insbesondere, dass niemals nur eine einzelne Operation ungültig ist, sondern das gesamte Programm ungültig wird und kein wohlgeformtes C++ mehr darstellt. Der Grund ist, dass manche Arten von „undefiniertem Verhalten“ Auswirkungen auf ganz andere, auch in sich korrekte, Programmteile haben und deren Verhalten beeinflussen können, beispielsweise bei Pufferüberläufen oder der unbeabsichtigten Änderung von Prozessor-Flags, die durch eine ungültige arithmetische Operation verursacht wurde und die nachfolgenden Berechnungen beeinflussen kann. Beispiele für undefiniertes Verhalten: Überlauf von vorzeichenbehafteten Ganzzahlen (auch z. B. bei Umwandlung von unsigned int nach int) Nullzeiger-Dereferenzierungen Arrayzugriffe mit ungültigem Index Schiebeoperationen mit einer Schiebeweite, die negativ oder größergleich der Zahl der Bits des zu schiebenden Typs ist Division durch null mit integralen Datentypen Weglassen des return-Statements in Funktionen mit Rückgabewert (die Hauptfunktion main bildet die einzige Ausnahme) Ein Nebeneffekt ändert eine Variable, die mehrmals in dem Ausdruck (v[i] = i++;) oder in der Argumentliste (f(i, i++);) vorkommt (die Auswertungsreihenfolge von Teilausdrücken und Funktionsargumenten ist nicht festgelegt) Einerseits ist das hieraus resultierende nichtdeterministische Laufzeitverhalten, insbesondere bei kleinen Änderungen der Plattform, mindestens als Risiko, in der Praxis oft aber als klarer Nachteil einzustufen. Andererseits werden hierdurch schnellere Programme ermöglicht, da Gültigkeitsüberprüfungen weggelassen werden können und der Compiler zudem oft Programmteile stärker optimieren kann, indem er Randfälle als per Definition ausgeschlossen ignoriert. Ein oft nicht wahrgenommener Vorteil ist darüber hinaus, dass dadurch, dass undefiniertes Verhalten praktisch nur in äußerst fragwürdigen Konstrukten auftritt, die aber nicht zwingend während des Kompilierens feststellbar sind, unsemantischer oder anderweitig suboptimaler Code gewissermaßen verboten wird. Beispielsweise besteht eine illegale Art zu prüfen, ob die Summe zweier positiver Ganzzahlen und vom Typ ‚int‘ verlustfrei wieder in einem ‚int‘ abgebildet werden kann, daraus, zu schauen, ob ihre Summe größer 0 ist (bei Überlauf entsteht auf den meisten Computern durch die Zweierkomplement-Arithmetik eine negative Zahl). Eine derartige Überprüfung ist allerdings aus mathematischer Sicht nicht besonders sinnvoll. Eine bessere (semantischere) Herangehensweise ist hier, die eigentliche Frage, ob , wobei die größte in einem ‚int‘ darstellbare Zahl ist, nach der mathematisch validen Umformung zu zu verwenden. Kompatibilität mit C Um an die Verbreitung der Programmiersprache C anzuknüpfen, wurde C++ als Erweiterung von C gemäß dem damaligen Stand von 1990 (ISO/IEC 9899:1990, auch kurz C90 genannt) entworfen. Die Kompatibilität mit C zwingt C++ zur Fortführung einiger dadurch übernommener Nachteile. Dazu zählt die teilweise schwer verständliche C-Syntax, der als überholt geltende Präprozessor sowie verschiedene von der jeweiligen Plattform abhängige Details der Sprache, die die Portierung von C++-Programmen zwischen unterschiedlichen Rechnertypen, Betriebssystemen und Compilern erschweren. Einige C-Sprachkonstrukte haben in C++ eine leicht abgewandelte Bedeutung oder Syntax, so dass manche C-Programme erst angepasst werden müssen, um sich als C++-Programm übersetzen zu lassen. Weitere Änderungen an C fanden in den Jahren 1999 (ISO/IEC 9899:1999, aka C99) und 2011 (ISO/IEC 9899:2011, aka C11) also nach der ersten Normung von C++ statt, so dass dort eingeflossene Änderungen nicht in C++98 berücksichtigt werden konnten. In die C++-Revision von 2011 wurde ein Teil der Neuerungen von C99 übernommen; auf der anderen Seite wurden dem C-Standard neue Features hinzugefügt, die auch mit C++11 nicht kompatibel sind. Sprachmerkmale im Detail C++ basiert auf der Programmiersprache C wie in ISO/IEC 9899:1990 beschrieben. Zusätzlich zu den in C vorhandenen Möglichkeiten bietet C++ weitere Datentypen sowie neuartige Typumwandlungsmöglichkeiten, Klassen mit Mehrfachvererbung und virtuellen Funktionen, Ausnahmebehandlung, Templates (Schablonen), Namensräume, Inline-Funktionen, Überladen von Operatoren und Funktionsnamen, Referenzen, Operatoren zur Verwaltung des dynamischen Speichers und mit der C++-Standardbibliothek eine erweiterte Bibliothek. Programmbeispiel Der folgende Quelltext ist ein einfaches C++-Programm, das den Text „Hallo Welt!“ in den Standardausgabestrom, üblicherweise das Terminal, schreibt: #include <iostream> int main() { std::cout << "Hallo Welt!" << std::endl; return 0; } Der Präprozessorbefehl oder auch Präprozessordirektive genannt #include bindet Header-Dateien ein, die typischerweise Deklarationen von Variablen, Typen und Funktionen enthalten. Im Gegensatz zu C besitzen Header der C++-Standardbibliothek keine Dateiendung. Der Header <iostream> ist Teil der C++-Standardbibliothek und deklariert unter anderem den Standardeingabestrom std::cin und die Standardausgabeströme std::cout und std::cerr für die aus der C-Standardbibliothek bekannten Objekte stdin, stdout und stderr. Bei main() handelt es sich um die Funktion, die den Einsprungpunkt jedes C++-Programms darstellt. Das Programm wird ausgeführt, indem die Funktion main() aufgerufen wird, wobei diese ihrerseits andere Funktionen aufrufen kann. Die Funktion main() selbst darf allerdings in einem C++-Programm nicht rekursiv aufgerufen werden. Der Standard verlangt von Implementierungen, zwei Signaturen für die Funktion main() zu unterstützen: Eine ohne Funktionsparameter wie im Beispiel, und eine, die einen Integer und einen Zeiger auf Zeiger auf char entgegennimmt, um auf Kommandozeilenparameter zugreifen zu können (was nicht in allen Programmen vonnöten ist): int main(int argc, char **argv). Implementierungen dürfen darüber hinaus weitere Signaturen für main() unterstützen, alle müssen jedoch den Rückgabetyp int (Integer) besitzen, also eine Ganzzahl zurückgeben. Würde main() keinen Wert zurückgeben, schreibt der C++-Standard der Implementierung vor, return 0; anzunehmen. main() gibt also 0 zurück, wenn kein anderslautendes return-Statement in ihr vorhanden ist. std::cout ist eine Instanz der Klasse std::basic_ostream<char>, die sich wie die gesamte C++-Standardbibliothek im Namensraum std befindet. Bezeichner in Namensräumen werden mit dem Bereichsoperator (::) angesprochen. Die Ausgabe des Zeichenkettenliterals "Hallo Welt" übernimmt der Operator <<. Zeichenkettenliterale sind in C++ vom Typ Array aus N konstanten chars (char const[N]), wobei N gleich der Länge der Zeichenkette + 1 für die abschließende Nullterminierung ist. Da die Standardtypumwandlungen von C++ die als pointer-to-array decay bekannte implizite Umwandlung eines Arrays T[N] in einen Pointer T* vorsehen, und damit char const[N] in einen char const* zerfällt, passt der überladene Operator template<class traits> basic_ostream<char,traits>& operator<<(std::basic_ostream<char,traits>&, char const *); aus <ostream> und wird entsprechend aufgerufen (operator<<( std::cout, "Hallo Welt!" );) und gibt die Zeichenkette aus. Durch den Ausgabemanipulator std::endl wird ein Zeilenendezeichen ausgegeben. Bei return 0 wird dem aufrufenden Programm über das Betriebssystem mitgeteilt, dass die Ausführung des Programms erfolgreich war. Dateiendungen Typische Dateiendungen sind .C, .cc, .cpp, .cxx, , .h, .hh, .hpp, .hxx, , .ipp, .tpp, .ixx. Umsetzung C++-Compiler Die Implementierung eines C++-Compilers gilt als aufwendig. Nach der Fertigstellung der Sprachnorm 1998 dauerte es mehrere Jahre, bis die Sprache von C++-Compilern weitestgehend unterstützt wurde. Zu den verbreitetsten C++-Compilern gehören: Visual C++ Der in Microsoft Visual C++ enthaltene Compiler ist der am weitesten verbreitete für das Betriebssystem Windows. Die Community-Edition stellt Microsoft kostenlos zur Verfügung. GCC Der g++ ist die C++-Ausprägung der GNU Compiler Collection (GCC); g++ ist quelloffen und frei verfügbar. Der g++ unterstützt eine Vielzahl von Betriebssystemen (darunter Unix, Linux, macOS, Windows und AmigaOS) und Prozessorplattformen. GNU C++ existiert seit 1987 und ist somit einer der ältesten C++-Compiler. Clang Clang, ein C++ Compiler-Frontend für plattformübergreifende Compilerinfrastruktur LLVM, die unter anderem auch in der Apple eigenen integrierten Entwicklungsumgebung Xcode verwendet wird. Im Clang/LLVM Ecosystem sind auch mehrere Tools zur statischen Codeanalyse entstanden wie z. B. „clang-tidy“ und „clang-format“. Intel C++ Compiler Der Intel C++ Compiler verwendet ebenfalls das erwähnte C++-Front-End von EDG. Der Intel C++ Compiler erzeugt Maschinencode für die Intel-Prozessoren unter den Betriebssystemen Windows, Linux und macOS. Da die mit dem Intel C++ Compiler erzeugten Programme den Befehlssatz der Intel-Prozessoren besonders gut ausnutzen, erzeugen sie besonders effiziente Programme für diese Plattform. (Kompilate des Intel-Compilers laufen ebenfalls auf AMD-Chips meist schneller als Kompilate der alternativen Compiler, entsprechende Optimierungsflags sperrt Intel jedoch, wobei sich die Sperre aufheben lässt.) Der Intel C++ Compiler nutzt im Unterbau wesentliche Teile des g++ und ersetzt und erweitert Teile der Code-Optimierung und Code-Generierung. Oracle Solaris Studio Oracle Solaris Studio stellt Oracle kostenlos zur Verfügung. Comeau C++ Der Comeau C++. Das sogenannte „Front-End“ des Compilers, also der Teil, der die Analyse-Phase implementiert, wurde von der Firma Edison Design Group (EDG) entwickelt, die sich auf die Entwicklung von Compiler-Front-Ends spezialisiert hat und deren C++-Front-End auch in vielen anderen kommerziellen C++-Compilern integriert ist. Der Comeau-Compiler kann auch über das Internet ausprobiert werden. Turbo C++ Mit Turbo C++/C++ Builder steht ein weiterer Compiler zur Verfügung. Integrierte Entwicklungsumgebungen Freie Entwicklungsumgebungen Anjuta Arduino CodeLite Code::Blocks Eclipse Geany GNAT Programming Studio KDevelop MonoDevelop NetBeans IDE Orwell Dev-C++ Qt Creator TOPCASED Ultimate++ WideStudio Proprietäre Entwicklungsumgebungen C++Builder CLion (basiert auf IntelliJ IDEA) CodeWarrior Conzept 16 (Programmiersprache C++ ähnlich) Cubic IDE ICON-L Kylix Visual Studio Xcode Vergleich mit anderen Sprachen Objective-C C++ war nicht der einzige Ansatz, die Programmiersprache C um Eigenschaften zu erweitern, die das objektorientierte Programmieren vereinfachen. In den 1980er Jahren entstand die Programmiersprache Objective-C, die sich aber im Gegensatz zu C++ syntaktisch wie von ihrem Funktionsprinzip an Smalltalk und nicht an Simula orientierte. Die Syntax von Objective-C (C beeinflusst durch Smalltalk) unterscheidet sich erheblich von C++ (C beeinflusst von Simula mit ganz eigenen syntaktischen Erweiterungen). Ende der 1980er Jahre wurde Objective-C erstmals kommerziell in NeXTStep verwendet, in dem es einen zentralen Bestandteil darstellt. Heutzutage findet es in der Programmierschnittstelle OpenStep (bzw. Cocoa und GNUstep) sowie in den Betriebssystemen iOS und macOS ein wichtiges Einsatzgebiet. Java und C# Die Programmiersprachen Java und C# verfügen über eine ähnliche, ebenfalls an C angelehnte Syntax wie C++, sind auch objektorientiert und unterstützen seit einiger Zeit Typparameter. Trotz äußerlicher Ähnlichkeiten unterscheiden sie sich aber konzeptionell von C++ zum Teil beträchtlich. Generische Techniken ergänzen die objektorientierte Programmierung um Typparameter und erhöhen so die Wiederverwertbarkeit einmal kodierter Algorithmen. Die generischen Java-Erweiterungen sind jedoch lediglich auf Klassen, nicht aber auf primitive Typen oder Datenkonstanten anwendbar. Demgegenüber beziehen die generischen Spracherweiterungen von C# auch die primitiven Typen mit ein. Dabei handelt es sich allerdings um eine Erweiterung für Generik zur Laufzeit, die die auf Kompilationszeit zugeschnittenen C++-Templates zwar sinnvoll ergänzen, nicht aber ersetzen können. Gerade die generische Programmierung macht C++ zu einem mächtigen Programmierwerkzeug. Während die objektorientierte Programmierung in Java und C# nach wie vor den zentralen Abstraktionsmechanismus darstellt, ist diese Art der Programmierung in C++ rückläufig. So werden tiefe Klassenhierarchien vermieden, und zu Gunsten der Effizienz und der Minimierung des Ressourcenverbrauchs verzichtet man in vielen Fällen auf Polymorphie, einen der fundamentalen Bestandteile der objektorientierten Programmierung. Entstehung und Weiterentwicklung Entstehungsgeschichte Auf die Idee für eine neue Programmiersprache kam Stroustrup durch Erfahrungen mit der Programmiersprache Simula während seiner Doktorarbeit an der Cambridge University. Simula erschien zwar geeignet für den Einsatz in großen Software-Projekten, die Struktur der Sprache erschwerte aber die Erstellung hocheffizienter Programme. Demgegenüber ließen sich effiziente Programme zwar mit der Sprache BCPL schreiben, für große Projekte war BCPL aber wiederum ungeeignet. Mit den Erfahrungen aus seiner Doktorarbeit erweiterte Stroustrup in den AT&T Bell Laboratories im Rahmen von Untersuchungen des Unix-Betriebssystemkerns in Bezug auf verteiltes Rechnen ab 1979 die Programmiersprache C. Die Wahl fiel auf die Programmiersprache C, da C eine Mehrzwecksprache war, die schnellen Code produzierte und einfach auf andere Plattformen zu portieren war. Als dem Betriebssystem Unix beiliegende Sprache hatte C außerdem eine erhebliche Verbreitung. Eine der ersten Erweiterungen war ein Klassenkonzept mit Datenkapselung, für das die Sprache Simula-67 das primäre Vorbild war. Danach kamen abgeleitete Klassen hinzu, ein strengeres Typsystem, Inline-Funktionen und Standard-Argumente. Während Stroustrup C with Classes („C mit Klassen“) entwickelte (woraus später C++ wurde), schrieb er auch cfront, einen Compiler, der aus C with Classes zunächst C-Code als Zwischenresultat erzeugte. Die erste kommerzielle Version von cfront erschien im Oktober 1985. 1983 wurde C with Classes in C++ umbenannt. Erweiterungen darin waren: Überladen von Funktionsnamen und Operatoren, virtuelle Funktionen, Referenzen, Konstanten, eine änderbare Freispeicherverwaltung und eine verbesserte Typüberprüfung. Die Möglichkeit von Kommentaren, die an das Zeilenende gebunden sind, wurde aus BCPL übernommen (//). 1985 erschien die erste Version von C++, die eine wichtige Referenzversion darstellte, da die Sprache damals noch nicht standardisiert war. 1989 erschien die Version 2.0 von C++. Neu darin waren Mehrfachvererbung, abstrakte Klassen, statische Elementfunktionen, konstante Elementfunktionen und die Erweiterung des Zugriffsmodells um protected. 1990 erschien das Buch The Annotated C++ Reference Manual, das als Grundlage für den darauffolgenden Standardisierungsprozess diente. Relativ spät wurden der Sprache Templates, Ausnahmebehandlung, Namensräume, neuartige Typumwandlungen und boolesche Typen hinzugefügt. Im Zuge der Weiterentwicklung der Sprache C++ entstand auch eine gegenüber C erweiterte Standardbibliothek. Erste Ergänzung war die Stream-I/O-Bibliothek, die Ersatz für traditionelle C-Funktionen wie zum Beispiel printf() und scanf() bietet. Eine der wesentlichen Erweiterungen der Standardbibliothek kam später durch die Integration großer Teile der bei Hewlett-Packard entwickelten Standard Template Library (STL) hinzu. Standardisierung Nach jahrelanger Arbeit wurde schließlich 1998 die endgültige Fassung der Sprache C++ (ISO/IEC 14882:1998) genormt. Diese Version wurde im Nachhinein, als weitere Versionen der Sprache erschienen, auch C++98 genannt. Im Jahr 2003 wurde ISO/IEC 14882:2003 verabschiedet, eine Nachbesserung der Norm von 1998, in der einige Missverständnisse beseitigt und mehrere Details klarer formuliert wurden. Diese Version wird umgangssprachlich auch C++03 genannt. Weiterentwicklung der Programmiersprache C++ nach 2005 Um mit den aktuellen Entwicklungen der sich schnell verändernden Computer-Technik Schritt zu halten, aber auch zur Ausbesserung bekannter Schwächen, erarbeitete das C++-Standardisierungskomitee die nächste größere Revision von C++, die inoffiziell mit C++0x abgekürzt wurde, worin die Ziffernfolge eine grobe Einschätzung des möglichen Erscheinungstermins andeuten sollte. Später, als ein Erscheinungstermin bis Ende 2009 nicht mehr zu halten war, änderte sich der inoffizielle Name zu C++1x. Die vorrangigen Ziele für die Weiterentwicklung von C++ waren Verbesserungen im Hinblick auf die Systemprogrammierung sowie zur Erstellung von Programmbibliotheken. Außerdem sollte die Erlernbarkeit der Sprache für Anfänger verbessert werden. Im November 2006 wurde der Zieltermin für die Fertigstellung auf das Jahr 2009 festgelegt. Im Juli 2009 wurde dieser Termin auf frühestens 2010 geändert. Im August 2011 wurde die Revision einstimmig von der ISO angenommen und am 11. Oktober 2011 als ISO/IEC 14882:2011 offiziell veröffentlicht. Inoffiziell heißt die Version C++11. Verbesserungen am Sprachkern C++98 deckte einige typische Problemfelder der Programmierung noch nicht ausreichend ab, zum Beispiel die Unterstützung von Nebenläufigkeit (Threads), deren Integration in C++, insbesondere für die Verwendung in Mehrprozessorumgebungen, eine Überarbeitung der Sprache unumgänglich machte. Durch die Einführung eines Speichermodells wurden Garantien der Sprache für den nebenläufigen Betrieb festgelegt, um Mehrdeutigkeiten in der Abarbeitungsreihenfolge sowohl aufzulösen als auch in bestimmten Fällen aufrechtzuerhalten und dadurch Spielraum für Optimierungen zu schaffen. Zu den weitreichenderen Spracherweiterungen gehörte ferner die automatische Typableitung zur Ableitung von Ergebnistypen aus Ausdrücken und die sogenannten R-Wert-Referenzen, mit deren Hilfe sich als Ergänzung zu dem bereits vorhandenen Kopieren von Objekten dann auch ein Verschieben realisieren lässt, außerdem bereichsbasierte For-Schleifen (foreach) über Container und eingebaute Felder. Erweiterung der Programmbibliothek Im April 2006 gab das C++-Standardisierungskomitee den sogenannten ersten Technischen Report (TR1) heraus, eine nicht normative Ergänzung zur aktuell gültigen, 1998 definierten Bibliothek, mit der Erweiterungsvorschläge vor einer möglichen Übernahme in die C++-Standardbibliothek auf ihre Praxistauglichkeit hin untersucht werden sollen. Viele Compiler-Hersteller lieferten den TR1 mit ihren Produkten aus. Im TR1 waren u. a. reguläre Ausdrücke, verschiedene intelligente Zeiger, ungeordnete assoziative Container, eine Zufallszahlenbibliothek, Hilfsmittel für die C++-Metaprogrammierung, Tupel sowie numerische und mathematische Bibliotheken enthalten. Die meisten dieser Erweiterungen stammten aus der Boost-Bibliothek, woraus sie mit minimalen Änderungen übernommen wurden. Außerdem waren sämtliche Bibliothekserweiterungen der 1999 überarbeiteten Programmiersprache C (C99) in einer an C++ angepassten Form enthalten. Mit Ausnahme der numerischen und mathematischen Bibliotheken wurden alle TR1-Erweiterungen in die Sprachnorm C++11 übernommen. Ebenfalls wurde eine eigene Bibliothek zur Unterstützung von Threads eingeführt. C++11 Mit der Norm ISO/IEC 14882:2011, auch bekannt als C++11, wurden viele weitreichende Neuerungen in C++ eingeführt, wie auszugsweise: Lambdas (Anonyme Funktionen), welche vor der Verabschiedung des C++11-Standards in anderen Sprachen schon teils breite Anwendung fanden, erweitern die Sprache vor allem im Bereich der funktionalen Programmierung. Eine erleichterte Typbehandlung mit Typinferenz ist nun über das Schlüsselwort auto (das nun nicht mehr ein Speicherklassen-Specifier ist) einerseits und das Schlüsselwort decltype (das den Typ eines Ausdrucks statisch zur Compilezeit zurückgibt, sofern ermittelbar) andererseits möglich. Beide Schlüsselworte zeigen ihre Stärke zudem auch im Verbund. So können ganze Funktionen, deren Rückgabetypen beispielsweise nur schwer vom Programmierer einzusehen sind, weil sie beispielsweise innerhalb komplexerer Klassentemplates liegen, komfortabel definiert werden:template <typename Factory> auto createObject(const Factory& creator) -> decltype(creator.makeObject()) { return creator.makeObject(); } Streng typisierte enums (enum class) beseitigen Probleme mit Namenskollisionen und schränken die Fehleranfälligkeit in Bezug auf implizite Typkonvertierungen ein. Sogenannte „range-based loops“ mittels eines modifizierten for-Statements erleichtern die Arbeit mit Containern und Arrays in der Art, dass Iteratoren beim Traversieren von Objekten dieser Datentypen für viele Anwendungsfälle überflüssig werden:#include <iostream> #include <string> #include <vector> using namespace std; void printNames(const vector<string>& names) { for (const string& singleName: names) cout << singleName << endl; } Es dürfen direkt aufeinanderfolgende spitze Klammern bei Templates benutzt werden: map<int, vector<int>>. Überdies erfolgte mit der Einführung von variadischen (vielstelligen) Templates eine großräumige Erweiterung der Nutzungsmöglichkeiten von Templates. Diese ermöglichen nun eine nicht fixe Anzahl von Template-Argumenten template<typename... Values> class VariadicExampleClass;, was weitreichende Optionen und Vereinfachungen im Code- bzw. Algorithmenaufbau und der Codestruktur allgemein ermöglicht. Des Weiteren haben sie, wie viele andere C++11-Erweiterungen auch, das Potential, die Notwendigkeit zur Nutzung von teils fehleranfälligen und nicht robusten Macros weiter einzuschränken. Die explizite Nutzbarkeit sogenannter Rvalue-Referenzen ermöglicht, aufbauend unter anderem auf sogenannter Bewegungssemantik, ein breites Spektrum von Codevereinfachungen, Laufzeitoptimierungen und ausnahmesicherer Programmierung. Mit den Rvalue-Referenzen wurden auch die sogenannten universellen Referenzen eingeführt, welche das Problem des „Perfect forwarding“ auf Sprachebene robust und einfach lösbar machen (die konsistente Weiterreichung von Typen innerhalb von Templatekonstrukten, die per „type deduction“ aufgelöst wurden, an weiterführende Templates). Vor der Verabschiedung des C++11-Standards war dies zumindest rein auf Sprachebene nicht möglich und erforderte vom Programmierer je nach Problemfall mehr oder weniger viel Eigenregie mit teils entsprechender Codeaufblähung und -Duplizierung. Außerdem wurden einige Features aus C11 übernommen, zum Beispiel Ganzzahlen mit mindestens 64 Bit (long long) oder Zusicherungen zur Übersetzungszeit mittels static_assert (in C11: _Static_assert). Themen der Sprache C++, die Rechenzeit und Speicherplatz betreffen, wurden im sogenannten technical report ISO/IEC TR 18015:2006 behandelt. Zum Zeitpunkt der Einführung des Standards und auch noch vergleichsweise lange darüber hinaus unterstützten viele gängige Compiler diesen nicht vollständig bzw. mit Bezug auf einige Erweiterungen mitunter fehlerhaft. Besonders starke Einschränkungen zeigte diesbezüglich zum Beispiel Microsoft mit Visual C++ 2012. Mit Visual C++ 2015 sind mittlerweile jedoch nahezu alle wichtigen größeren Spracherweiterungen berücksichtigt worden. C++14 C++14, beschrieben im Standard ISO/IEC 14882:2014, erweitert die Einsatzmöglichkeiten von auto und decltype, schwächt die Voraussetzungen für constexpr ab, erlaubt Variablen-Templates zu definieren (beispielsweise um mehrere Versionen von π mit je nach Typ unterschiedlicher Genauigkeit zu definieren), führt Binärliterale ein (0b...), führt Hochkommata als Trennzeichen in Zahlen ein, erlaubt generische Lambdas, erweitert Lambda capture expressions und führt das Attribut deprecated ein. Außerdem wurde die Standardbibliothek um ein paar Funktionen ergänzt, die bei C++11 „vergessen“ bzw. „übersehen“ wurden (z. B. std::make_unique) und etliche Funktionsdeklarationen nun als constexpr umdeklariert, was dem Compiler aggressivere Optimierungen gestattet. Während der Entwicklungsphase wurde C++14 auch C++1y genannt, um anzudeuten, dass es die Nachfolgeversion der vormals als C++0x genannten Version sein wird. C++17 Im März 2017 hat das ISO-C++-Komitee den Sprachstandard C++17 technisch abgeschlossen. Für die neue Fassung wurde unter anderem die Aufnahme des Typen std::byte beschlossen. Dieser ist explizit für den byte-weisen Zugriff auf den Speicher bestimmt. Es wurden neue, generische Container eingeführt: std::any als Alternative zu void* mit Typeüberprüfung zur Laufzeit, std::variant als Alternative zur aus C übernommenen Union mit Laufzeit-Typprüfung und std::optional, ein Container, der genau ein Element enthalten kann, aber nicht muss. Bis zur offiziellen Verabschiedung wurde die Fassung auch als C++1z bezeichnet. Nach dem Sommer-Meeting Mitte Juli verriet der C++-Experte Herb Sutter, der für die Einberufung des Komitees verantwortlich ist, in seinem Blog bereits erste Pläne für C++20. C++20 Die finale Version von C++20 wurde im Dezember 2020 veröffentlicht, nachdem er im Februar finalisiert und im September bestätigt wurde. Concepts bestimmte Initialisierer (zuerst in C99) [=, this] in Lambdas Template-Parameter-Listen in Parametern Dreiwegevergleich mit dem „spaceship operator“, operator <=> Koroutinen ein Modulsystem zur Codekapselung und kürzeren Kompilierzeiten std::format als moderner Ersatz für sprintf und stringstreams std::span Erweiterung des Konzeptes von string_view (C++17) auf beliebige Felder C++23/26 Reflection Executors Pattern Matching Networking Der Name „C++“ Der Name C++ ist eine Wortschöpfung von Rick Mascitti, einem Mitarbeiter Stroustrups, und wurde zum ersten Mal im Dezember 1983 benutzt. Der Name kommt von der Verbindung der Vorgängersprache C und dem Inkrement-Operator ++, der den Wert einer Variablen inkrementiert (um eins erhöht). Der Erfinder von C++, Bjarne Stroustrup, nannte C++ zunächst „C mit Klassen“ (). Kritik Oft geäußerte Kritik an der Sprache umfasst beispielsweise: C++ sei sehr komplex und fehleranfällig zu programmieren. Man müsse viel lernen und üben, um es gut zu beherrschen, und viele Features gelten als äußerst komplex. C++ sei zu low-level-mäßig aufgebaut; während es viele Features von höher abstrahierenden Sprachen aufweist (Klassen, generische Klassen/Funktionen etc.), seien als wichtig empfundene Dinge, insbesondere Garbage Collection, nicht vorhanden. C++ gilt zwar als schnell, beispielsweise wegen der Möglichkeit, frei mit Pointern zu arbeiten, doch diese Leistung sei auf den heutigen, schnellen Computersystemen nur in Ausnahmefällen nötig: Während es sinnvoll sei, Betriebssysteme o. Ä. in C++ zu schreiben, sei es softwaretechnisch viel günstiger, Anwendungsprogramme in höheren Sprachen zu schreiben, da diese leichter zu warten seien und immer noch eine ausreichende Leistung aufwiesen. Typisch in Verbindung mit C++ ist das Zitat von Bjarne Stroustrup: Soll heißen: C++ erleichtert zunächst vieles, aber es bringt gleichzeitig viele Mittel mit sich, die mit Bedacht eingesetzt werden müssen. Zum Beispiel können durch die dynamische Speicherallokation ohne automatische Speicherfreigabe Speicherlecks entstehen. Zeiger können auf falsche Speicherbereiche verweisen und verstecktes Fehlverhalten erzeugen (Hängender Zeiger). Siehe auch C++/CLI Embedded C++, ein Dialekt von C++, bei dem einige Sprachfeatures und Bibliotheksfunktionen entfernt wurden, um für eingebettete Systeme geeigneter zu sein. Argument dependent name lookup Literatur Weblinks Webauftritt des C++-Standardisierungskomitees (englisch) Working Draft, Standard for Programming Language C++ (englisch, PDF, 5,1 MB) Standard C++ Foundation (englisch) Website von Bjarne Stroustrup mit dessen FAQs und starkem C++-Fokus (englisch) C++ Reference; Wiki zu C++ (primär englisch) C++ Annotations, umfangreiche Einführung von Frank B. Brokken (englisch) Einzelnachweise Imperative Programmiersprache Objektorientierte Programmiersprache Programmiersprache mit einem ISO-Standard