ورود به حساب

نام کاربری گذرواژه

گذرواژه را فراموش کردید؟ کلیک کنید

حساب کاربری ندارید؟ ساخت حساب

ساخت حساب کاربری

نام نام کاربری ایمیل شماره موبایل گذرواژه

برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید


09117307688
09117179751

در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید

دسترسی نامحدود

برای کاربرانی که ثبت نام کرده اند

ضمانت بازگشت وجه

درصورت عدم همخوانی توضیحات با کتاب

پشتیبانی

از ساعت 7 صبح تا 10 شب

دانلود کتاب C++ mit Visual Studio 2019: C++17 für Studierende und erfahrene Programmierer

دانلود کتاب C++ با Visual Studio 2019: C++17 برای دانش آموزان و برنامه نویسان با تجربه

C++ mit Visual Studio 2019: C++17 für Studierende und erfahrene Programmierer

مشخصات کتاب

C++ mit Visual Studio 2019: C++17 für Studierende und erfahrene Programmierer

ویرایش: [1. Aufl.] 
نویسندگان:   
سری:  
ISBN (شابک) : 9783662594759, 9783662594766 
ناشر: Springer Berlin Heidelberg;Springer Vieweg 
سال نشر: 2021 
تعداد صفحات: XX, 947
[958] 
زبان: German 
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) 
حجم فایل: 10 Mb 

قیمت کتاب (تومان) : 81,000



ثبت امتیاز به این کتاب

میانگین امتیاز به این کتاب :
       تعداد امتیاز دهندگان : 5


در صورت تبدیل فایل کتاب C++ mit Visual Studio 2019: C++17 für Studierende und erfahrene Programmierer به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.

توجه داشته باشید کتاب C++ با Visual Studio 2019: C++17 برای دانش آموزان و برنامه نویسان با تجربه نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.


توضیحاتی در مورد کتاب C++ با Visual Studio 2019: C++17 برای دانش آموزان و برنامه نویسان با تجربه



C++ در سال‌های اخیر به سرعت توسعه یافته است: C++11، C++14، C++17 و C++20 پیشرفت‌ها و امکانات جدیدی را به ارمغان آورده‌اند. بسیاری از کارهایی که ۱۰ سال پیش خوب و توصیه شده بود، اکنون می‌توانند بهتر و ایمن‌تر انجام شوند.

این کتاب به‌طور جامع C++ را با Visual Studio 2019 از می 2020 ارائه می‌کند. این نه تنها محدوده C++17، اما در حال حاضر بخشی از C++20 است.

از سخنرانی‌ها و سمینارهای شرکتی متعدد به وجود آمد. بر این اساس، هدف آن دانش آموزان است که می خواهند C++ را یاد بگیرند. ساختار، مثال‌ها و تمرین‌های فراوان امتحان شده و آزمایش شده است. این کتاب برای خودآموزی و به عنوان یک کتاب درسی برای سخنرانی در کالج‌های فنی و دانشگاه‌ها مناسب است.

اما این کتاب همچنین توسعه‌دهندگان نرم‌افزار حرفه‌ای را با سال‌ها تمرین ++C وضعیت فعلی را نشان می‌دهد. از هنر بسیاری از پسوندهای زبان، تکنیک های برنامه نویسی ابتدایی را آسان تر و ایمن تر می کنند. علاوه بر این، مفاهیم جدیدی وجود دارد که راه‌حل‌های بهتر و کارآمدتری را نسبت به چند سال پیش ممکن می‌سازد.

این کتاب در دو نسخه تقریباً یکسان منتشر شده است:

- در نسخه حاضر برنامه ها بدون رابط کاربری گرافیکی نوشته می شوند. همه ورودی ها و خروجی ها با cin و cout از طریق کنسول انجام می شود.

- در خروجی دیگر "C++ با برنامه‌های Visual Studio 2019 و Windows Forms Applications» نوشته شده‌اند که در آن تمام ورودی‌ها و خروجی‌ها از طریق رابط کاربری ویندوز انجام می‌شود.


توضیحاتی درمورد کتاب به خارجی

C++ hat sich in den letzten Jahren rasant entwickelt: C++11, C++14, C++17 und C++20 haben viele Verbesserungen und neue Möglichkeiten gebracht. Vieles, was vor 10 Jahren noch gut und empfehlenswert war, kann heute besser und sicherer gemacht werden.

Dieses Buch stellt C++ mit Visual Studio 2019 auf dem Stand von Mai 2020 umfassend dar. Das ist nicht nur der Umfang von C++17, sondern auch schon ein Teil von C++20.

Es entstand aus zahlreichen Vorlesungen und Firmenseminaren. Dementsprechend richtet es sich einerseits an Studierende, die C++ lernen wollen. Der Aufbau, die vielen Beispiele und Übungsaufgaben sind erprobt und bewährt. Es eignet sich zum Selbststudium und als Lehrbuch für Vorlesungen an Fachhochschulen und Universitäten.

Dieses Buch zeigt aber ebenso professionellen Software-Entwicklern mit einer jahre­langen C++-Praxis den aktuellen Stand der Technik. Viele der Spracherweiterungen machen elementare Programmiertechniken einfacher und sicherer. Dazu kommen neue Konzepte, die bessere und effizientere Lösun­gen als noch vor einigen Jahren ermöglichen.

Dieses Buch erscheint in zwei weitgehend identischen Ausgaben:

In der vorliegenden Ausgabe werden Programme ohne eine graphische Benutzeroberfläche geschrieben. Alle Ein- und Ausgaben erfolgen mit cin und cout über die Konsole.

In der anderen Ausgabe „C++ mit Visual Studio 2019 und Windows-Forms-Anwen­dungen“ werden Programme geschrieben, in denen alle Ein- und Ausgaben über eine Windows-Benutzeroberfläche erfolgen.



فهرست مطالب

Vorwort
Inhalt
1 Die Entwicklungsumgebung
	1.1 Installation von Visual Studio für C++ Projekte
	1.2 Ein erstes C++-Projekt
		1.2.1 Ein Projekt für ein Standard-C++-Programm anlegen
		1.2.2 Ein- und Ausgaben über die Konsole
		1.2.3 Fehler beim Kompilieren
		1.2.4 Den Quelltext auf Header-Dateien aufteilen
		1.2.5 Ein Projekt für die Lösung der Übungsaufgaben
		1.2.6 An einem Projekt weiterarbeiten
		1.2.7 Der Start des Compilers von der Kommandozeile Ө
	1.3 Der Quelltexteditor
		1.3.1 Tastenkombinationen
		1.3.2 Intellisense
		1.3.3 Die Formatierung des Quelltexts
		1.3.4 Definitionen einsehen
		1.3.5 Symbole suchen
		1.3.6 Namen umbenennen
		1.3.7 Zeichenfolgen suchen und ersetzen
	1.4 Kontextmenüs und Symbolleisten
	1.5 Online-Dokumentation
		1.5.1 Die Microsoft-Dokumentation
		1.5.2 en.cppreference.com
	1.6 Projekte und der Projektmappen-Explorer
		1.6.1 Projekte, Projektdateien und Projektoptionen
		1.6.2 Projektmappen und der Projektmappen-Explorer
	1.7 Weiterführende Möglichkeiten Ө
		1.7.1 Navigieren
		1.7.2 Code-Ausschnitte
		1.7.3 Aufgabenliste
		1.7.4 Der Objektkatalog und die Klassenansicht Ө
		1.7.5 Die Fenster von Visual Studio anordnen Ө
		1.7.6 Einstellungen für den Editor Ө
	1.8 Bereitstellung (Deployment) Ө
2 Elementare Datentypen und Anweisungen
	2.1 Syntaxregeln
	2.2 Variablen und Bezeichner
	2.3 Ganzzahldatentypen
		2.3.1 Die interne Darstellung von Ganzzahlwerten
		2.3.2 Ganzzahlliterale und ihr Datentyp
		2.3.3 Typ-Inferenz: Implizite Typzuweisungen mit auto
		2.3.4 Initialisierungslisten und Konversionen
		2.3.5 Zuweisungen und Standardkonversionen bei Ganzzahlausdrücken Ө
		2.3.6 Operatoren und die „üblichen arithmetischen Konversionen“
		2.3.7 Die Datentypen char und wchar_t
		2.3.8 Der Datentyp bool
	2.4 Kontrollstrukturen und Funktionen
		2.4.1 Die if- und die Verbundanweisung
		2.4.2 Die for-, die while- und die do-Schleife
		2.4.3 Funktionen und der Datentyp void
		2.4.4 Eine kleine Anleitung zum Erarbeiten der Lösungen
		2.4.5 Wert- und Referenzparameter
		2.4.6 Die Verwendung von Bibliotheken und Namensbereichen
		2.4.7 Zufallszahlen
		2.4.8 Default-Argumente
		2.4.9 if und switch mit Variablendefinitionen
		2.4.10 Programmierstil für Funktionen
		2.4.11 Rekursive Funktionen
		2.4.12 Die switch-Anweisung Ө
		2.4.13 Bedingte Kompilation mit if constexpr Ө
		2.4.14 Die Sprunganweisungen goto, break und continue Ө
		2.4.15 Assembler-Anweisungen Ө
	2.5 Gleitkommadatentypen
		2.5.1 Die interne Darstellung von Gleitkommawerten
		2.5.2 Der Datentyp von Gleitkommaliteralen
		2.5.3 Standardkonversionen
		2.5.4 Mathematische Funktionen
	2.6 Der Debugger, Tests und Ablaufprotokolle
		2.6.1 Der Debugger
		2.6.2 Der Debugger – Weitere Möglichkeiten Ө
		2.6.3 CPU Auslastung beobachten mit dem Leistungs-Profiler Ө
		2.6.4 Speicherauslastung beobachten mit dem Leistungs-Profiler Ө
		2.6.5 Systematisches Testen
		2.6.6 Unittests: Funktionen, die Funktionen testen
		2.6.7 Ablaufprotokolle
		2.6.8 Symbolische Ablaufprotokolle
	2.7 Konstanten
		2.7.1 Laufzeitkonstanten mit const
		2.7.2 Compilezeit-Konstanten mit constexpr
		2.7.3 constexpr Funktionen
		2.7.4 static_assert und Unittests zur Compilezeit
	2.8 Kommentare
		2.8.1 Kommentare zur internen Dokumentation
		2.8.2 Intellisense- und Doxygen Kommentare
	2.9 Exception-Handling Grundlagen: try, catch und throw
	2.10 Namensbereiche – Grundlagen
	2.11 Präprozessoranweisungen
		2.11.1 Die #include-Anweisung
		2.11.2 Makros Ө
		2.11.3 Bedingte Kompilation
		2.11.4 Pragmas Ө
	2.12 Attribute
	2.13 Der Visual Studio C++ Core Guidelines Checker
	2.14 Module (C++20)
		2.14.1 Installation und Einstellungen für Module in Visual Studio 2019 16.5
		2.14.2 Die Standardbibliothek als Modul verwenden
		2.14.3 Module definieren
	2.15 Compiler Feature Test Makros
		2.15.1 Der Präprozessorkonstanten-Ausdruck __has_include
		2.15.2 Die __cpp_xxx-Makros
		2.15.3 __has_cpp_attribute
3 Die Stringklassen: string, wstring usw.
	3.1 Die Definition von Variablen eines Klassentyps
	3.2 Einige Elementfunktionen der Klasse string
	3.3 Raw-String-Literale (Rohzeichenfolgen)
	3.4 Stringkonversionen
		3.4.1 C++11-Konversionsfunktionen: to_string, stoi usw.
		3.4.2 C++17-Konversionsfunktionen: to_chars und from_chars
		3.4.3 Konversionen mit Stringstreams Ө
	3.5 string_view –Strings zum Anschauen
	3.6 Unicode-Strings Ө
	3.7 Landespezifische Einstellungen Ө
	3.8 Reguläre Ausdrücke Ө
4 Arrays und Container
	4.1 Synonyme für Datentypen
		4.1.1 Einfache typedef-Deklarationen
		4.1.2 Synonyme für Datentypen mit using
	4.2 Eindimensionale Arrays
		4.2.1 Arrays im Stil von C
		4.2.2 Arrays des Typs std::array
		4.2.3 Dynamische Arrays des Typs std::vector
		4.2.4 Arrays mit std::span als Parameter übergeben
		4.2.5 Die Initialisierung von Arrays bei ihrer Definition
		4.2.6 Vorteile von std::array und std::vector gegenüber C-Arrays
		4.2.7 Ein einfaches Sortierverfahren (Auswahlsort)
	4.3 Arrays als Container
	4.4 Mehrdimensionale Arrays Ө
	4.5 Dynamische Programmierung Ө
5 Einfache selbstdefinierte Datentypen
	5.1 Mit struct definierte Klassen
	5.2 Aufzählungstypen
		5.2.1 Schwach typisierte Aufzählungstypen (C/C++03)
		5.2.2 enum Konstanten und Konversionen Ө
		5.2.3 Stark typisierte Aufzählungstypen (C++11)
6 Zeiger, dynamisch erzeugte Variablen und smart pointer
	6.1 Die Definition von Zeigervariablen
	6.2 Der Adressoperator, Zuweisungen und generische Zeiger
	6.3 Explizite Konversionen Ө
	6.4 Ablaufprotokolle für Zeigervariable
	6.5 Dynamisch erzeugte Variablen
		6.5.1 new und delete
		6.5.2 Der Unterschied zu „gewöhnlichen“ Variablen
		6.5.3 Der Smart Pointer Typ unique_ptr
		6.5.4 Dynamische erzeugte eindimensionale Arrays
		6.5.5 nothrow-new Ө
	6.6 Stringliterale, nullterminierte Strings und char*-Zeiger
	6.7 Memory Leaks finden
		6.7.1 Mit Visual C++ memory-leaks finden Ө
		6.7.2 Mit überladenen new- und delete-Operatoren memory-leaks finden Ө
	6.8 Verkettete Listen
	6.9 Binärbäume Ө
7 Überladene Funktionen und Operatoren
	7.1 Inline-Funktionen Ө
	7.2 Überladene Funktionen
		7.2.1 Funktionen, die nicht überladen werden können
		7.2.2 Regeln für die Auswahl einer passenden Funktion
	7.3 Überladene Operatoren mit globalen Operatorfunktionen
		7.3.1 Globale Operatorfunktionen
		7.3.2 Die Ein- und Ausgabe von selbst definierten Datentypen
		7.3.3 new und delete überladen
	7.4 Referenztypen, Wert- und Referenzparameter
		7.4.1 Wertparameter
		7.4.2 Referenztypen
		7.4.3 Referenzparameter
		7.4.4 Referenzen als Rückgabetypen
		7.4.5 Konstante Referenzparameter
	7.5 Reihenfolge der Auswertung von Ausdrücken seit C++17
8 Objektorientierte Programmierung
	8.1 Klassen
		8.1.1 Datenelemente und Elementfunktionen
		8.1.2 Der Gültigkeitsbereich von Klassenelementen
		8.1.3 Datenkapselung: Die Zugriffsrechte private und public
		8.1.4 Der Aufruf von Elementfunktionen und der this-Zeiger
		8.1.5 Konstruktoren und Destruktoren
		8.1.6 shared_ptr: Smart Pointer für Klassenelemente
		8.1.7 OO Analyse und Design: Der Entwurf von Klassen
		8.1.8 Klassendiagramme
		8.1.9 Initialisierungslisten für Variablen, Argumente und Rückgabewerte
		8.1.10 Initialisierungslisten als Parameter
		8.1.11 Implizite Typzuweisungen mit auto
	8.2 Klassen als Datentypen
		8.2.1 Der Standardkonstruktor
		8.2.2 Elementinitialisierer
		8.2.3 friend-Funktionen und –Klassen
		8.2.4 Überladene Operatoren mit Elementfunktionen
		8.2.5 Der dreifache Vergleichsoperator <=> (Spaceship Operator)
		8.2.6 Der Kopierkonstruktor
		8.2.7 Der Zuweisungsoperator = für Klassen
		8.2.8 Die Angaben =delete und =default
		8.2.9 Konvertierende und explizite Konstruktoren Ө
		8.2.10 Konversionsfunktionen mit und ohne explicit Ө
		8.2.11 Statische Klassenelemente
		8.2.12 inline Variablen, insbesondere static inline Datenelemente
		8.2.13 Konstante Objekte und Elementfunktionen
		8.2.14 std::function: Ein Datentyp für Funktionen und aufrufbare Objekte
		8.2.15 Delegierende Konstruktoren Ө
		8.2.16 Klassen und Header-Dateien
	8.3 Vererbung und Komposition
		8.3.1 Die Elemente von abgeleiteten Klassen
		8.3.2 Zugriffsrechte auf die Elemente von Basisklassen
		8.3.3 Verdeckte Elemente
		8.3.4 Konstruktoren, Destruktoren und implizit erzeugte Funktionen
		8.3.5 OO Design: public Vererbung und „ist ein“-Beziehungen
		8.3.6 OO Design: Komposition und „hat ein“-Beziehungen
		8.3.7 Konversionen zwischen public abgeleiteten Klassen
		8.3.8 Mehrfachvererbung und virtuelle Basisklassen
	8.4 Virtuelle Funktionen, späte Bindung und Polymorphie
		8.4.1 Der statische und der dynamische Datentyp
		8.4.2 Virtuelle Funktionen in C++03
		8.4.3 Virtuelle Funktionen mit override in C++11
		8.4.4 Die Implementierung von virtuellen Funktionen: vptr und vtbl
		8.4.5 Virtuelle Konstruktoren und Destruktoren
		8.4.6 Virtuelle Funktionen in Konstruktoren und Destruktoren
		8.4.7 OO-Design: Einsatzbereich und Test von virtuellen Funktionen
		8.4.8 OO-Design und Erweiterbarkeit
		8.4.9 Rein virtuelle Funktionen und abstrakte Basisklassen
		8.4.10 OO-Design: Virtuelle Funktionen und abstrakte Basisklassen
		8.4.11 Interfaces und Mehrfachvererbung
		8.4.12 Objektorientierte Programmierung: Zusammenfassung
	8.5 R-Wert Referenzen und Move-Semantik
		8.5.1 R-Werte und R-Wert Referenzen
		8.5.2 move-Semantik
		8.5.3 R-Werte mit std::move erzwingen
		8.5.4 Move-Semantik in der C++11 Standardbibliothek
		8.5.5 Move-Semantik für eigene Klassen
		8.5.6 Perfect forwarding Ө
9 Namensbereiche
	9.1 Die Definition von Namensbereichen
	9.2 Die Verwendung von Namen aus Namensbereichen
	9.3 Header-Dateien und Namensbereiche
	9.4 Aliasnamen für Namensbereiche Ө
	9.5 inline namespaces Ө
10 Exception-Handling
	10.1 Die try-Anweisung
	10.2 Exception-Handler und Exceptions der Standardbibliothek
	10.3 throw-Ausdrücke und selbst definierte Exceptions
	10.4 Exceptions weitergeben
	10.5 Fehler und Exceptions
	10.6 Die Freigabe von Ressourcen bei Exceptions: RAII
	10.7 Exceptions in Konstruktoren und Destruktoren
	10.8 noexcept
	10.9 Exception-Sicherheit
	10.10 Die Exception-Klasse system_error Ө
11 Containerklassen der C++-Standardbibliothek
	11.1 Sequenzielle Container der Standardbibliothek
		11.1.1 Die Container-Klasse vector
		11.1.2 Iteratoren
		11.1.3 Geprüfte Iteratoren (Checked Iterators)
		11.1.4 Die bereichsbasierte for-Schleife
		11.1.5 Iteratoren und die Algorithmen der Standardbibliothek
		11.1.6 Die Speicherverwaltung bei Vektoren Ө
		11.1.7 Mehrdimensionale Vektoren Ө
		11.1.8 Gemeinsamkeiten und Unterschiede der sequenziellen Container
		11.1.9 Die Container-Adapter stack, queue und priority_queue Ө
		11.1.10 Container mit Zeigern
	11.2 Allokatoren und polymorphic memory ressources
	11.3 Assoziative Container
		11.3.1 Die Container set und multiset
		11.3.2 Die Container map und multimap
		11.3.3 Iteratoren der assoziativen Container
		11.3.4 Ungeordnete Assoziative Container (Hash-Container)
	11.4 Zusammenfassungen von Datentypen
		11.4.1 Wertepaare mit std::pair
		11.4.2 Tupel mit std::tuple
		11.4.3 Strukturierte Bindungen Ө
		11.4.4 std::optional – Eine Klasse für einen oder keinen Wert
		11.4.5 std::variant – Eine Klasse für Werte bestimmter Typen
		11.4.6 std::any: Ein Datentyp für Werte beliebiger Typen Ө
12 Dateibearbeitung mit den Stream-Klassen
	12.1 Stream-Variablen, ihre Verbindung mit Dateien und ihr Zustand
	12.2 Fehler und der Zustand von Stream-Variablen
	12.3 Lesen und Schreiben von Binärdaten mit read und write
	12.4 Lesen und Schreiben mit den Operatoren << und >>
	12.5 Dateibearbeitung im Direktzugriff Ө
	12.6 Manipulatoren und Funktionen zur Formatierung von Texten Ө
	12.7 Filesystem
13 Funktoren, Funktionsobjekte und Lambda-Ausdrücke
	13.1 Der Aufrufoperator ()
	13.2 Prädikate und Vergleichsfunktionen
	13.3 Binder Ө
	13.4 Lambda-Ausdrücke
	13.5 Lambda-Ausdrücke – Weitere Konzepte Ө
		13.5.1 Lambda-Ausdrücke werden zu Funktionsobjekten
		13.5.2 Nachstehende Rückgabetypen
		13.5.3 Generische Lambda-Ausdrücke
		13.5.4 Lambda-Ausdrücke höherer Ordnung Ө
	13.6 Kompatible function-Typen: Kovarianz und Kontravarianz Ө
14 Templates
	14.1 Generische Funktionen: Funktions-Templates
		14.1.1 Die Deklaration von Funktions-Templates mit Typ-Parametern
		14.1.2 Spezialisierungen von Funktions-Templates
		14.1.3 Fehlersuche bei Template-Instanziierungen
		14.1.4 Funktions-Templates mit Nicht-Typ-Parametern
		14.1.5 Explizit instanziierte Funktions-Templates Ө
		14.1.6 Explizit spezialisierte und überladene Templates
		14.1.7 Rekursive Funktions-Templates Ө
	14.2 Generische Klassen: Klassen-Templates
		14.2.1 Die Deklaration von Klassen-Templates mit Typ-Parametern
		14.2.2 Spezialisierungen von Klassen-Templates
		14.2.3 Klassen-Templates mit Nicht-Typ-Parametern
		14.2.4 Explizit instanziierte Klassen-Templates Ө
		14.2.5 Partielle und vollständige Spezialisierungen Ө
		14.2.6 Vererbung mit Klassen-Templates Ө
		14.2.7 Die Ableitung von Typ-Argumenten bei Klassen-Templates
		14.2.8 Alias Templates Ө
	14.3 Variablen-Templates Ө
	14.4 Typ-Argument abhängige Templates mit Type Traits
		14.4.1 Eine Konstruktion von type traits
		14.4.2 Die type traits Kategorien
		14.4.3 Type traits und static_assert
		14.4.4 Templates mit if constexpr und type traits optimieren
		14.4.5 Typ-Inferenz mit decltype
	14.5 Variadische Templates
		14.5.1 Variadische Funktions-Templates
		14.5.2 Fold Ausdrücke
		14.5.3 Variadische Klassen-Templates am Beispiel von std::tuple
	14.6 Concepts
		14.6.1 concepts mit requires-Ausdrücken
		14.6.2 Vordefinierte concepts
		14.6.3 Ein Ausblick auf ranges: Algorithmen mit concepts
	14.7 Kovarianz und Kontravarianz
15 STL-Algorithmen und Lambda-Ausdrücke
	15.1 Iteratoren
		15.1.1 Die verschiedenen Arten von Iteratoren
		15.1.2 Umkehriteratoren
		15.1.3 Einfügefunktionen und Einfügeiteratoren
		15.1.4 Stream-Iteratoren
		15.1.5 Container-Konstruktoren mit Iteratoren
		15.1.6 Globale Iterator-Funktionen Ө
	15.2 Nichtmodifizierende Algorithmen
		15.2.1 Lineares Suchen
		15.2.2 Zählen
		15.2.3 Der Vergleich von Bereichen
		15.2.4 Suche nach Teilfolgen
		15.2.5 Minimum und Maximum
		15.2.6 Mit all_of, any_of, none_of alle Elemente in einem Bereich prüfen
	15.3 Kopieren und Verschieben von Bereichen
	15.4 Elemente transformieren und ersetzen
	15.5 Elementen in einem Bereich Werte zuweisen Ө
	15.6 Elemente entfernen – das erase-remove Idiom
	15.7 Die Reihenfolge von Elementen vertauschen
		15.7.1 Elemente vertauschen
		15.7.2 Permutationen Ө
		15.7.3 Die Reihenfolge umkehren und Elemente rotieren Ө
		15.7.4 Elemente durcheinander mischen Ө
	15.8 Algorithmen zum Sortieren und für sortierte Bereiche
		15.8.1 Partitionen Ө
		15.8.2 Bereiche sortieren
		15.8.3 Binäres Suchen in sortierten Bereichen
		15.8.4 Mischen von sortierten Bereichen
	15.9 Numerische Algorithmen und Datentypen
		15.9.1 Numerische Algorithmen
		15.9.2 Valarrays Ө
		15.9.3 Zufallszahlen mit  Ө
		15.9.4 Komplexe Zahlen Ө
		15.9.5 Numerische Bibliotheken neben dem C++-Standard Ө
	15.10 Parallele Algorithmen der STL
		15.10.1 std::sort
		15.10.2 Parallel for mit for_each
		15.10.3 std::reduce und std::transform_reduce
16 Zeiten und Kalenderdaten mit chrono
	16.1 Brüche als Datentypen: Das Klassen-Template ratio
	16.2 Ein Datentyp für Zeiteinheiten: duration
	16.3 Datentypen für Zeitpunkte: time_point
	16.4 Uhren: system_clock und steady_clock
17 Multithreading
	17.1 Funktionen als Threads starten
		17.1.1 Funktionen mit async als Threads starten
		17.1.2 Funktionen mit thread als Threads starten
		17.1.3 Lambda-Ausdrücke als Threads starten
		17.1.4 Zuweisungen und move für Threads
		17.1.5 Die Klassen future und promise
		17.1.6 Exceptions in Threads und ihre Weitergabe mit promise
		17.1.7 Der Programmablauf mit async
		17.1.8 Informationen über Threads
		17.1.9 Sleep-Funktionen
		17.1.10 Threads im Debugger
	17.2 Kritische Abschnitte
		17.2.1 Atomare Datentypen
		17.2.2 Kritische Bereiche mit mutex und lock_guard bzw. scoped_lock sperren
		17.2.3 Read/Write-Mutexe mit shared_mutex und shared_lock
		17.2.4 Die Lock-Klasse unique_lock Ө
		17.2.5 Deadlocks
		17.2.6 call_once zur Initialisierung von Daten
		17.2.7 Thread-lokale Daten
	17.3 Bedingungsvariablen zur Synchronisation von Threads
	17.4 Die „Parallel Patterns Library“ von Microsoft
18 Smart Pointer: shared_ptr, unique_ptr und weak_ptr
	18.1 Gemeinsamkeiten von unique_ptr und shared_ptr
	18.2 unique_ptr
	18.3 shared_ptr
	18.4 Deleter und smart pointer für Arrays
	18.5 weak_ptr Ө
Literaturverzeichnis
Index




نظرات کاربران