EMZETT.
Login

Kurz: int wert() const { return wert_; } void setze(int w) { wert_ = w; } virtual std::string name() const { return “Beispiel”; }

Teil des Kurses C++

Kapitel 15 von 15 im Kurs C++ (Abschnitt „Nachschlagen“). Mit Fortschritt, Quiz und Zertifikat auf der Lernseite.

Typen und Initialisierung

SchreibweiseBedeutung
int a{5};Initialisierung mit {} (kein Datenverlust)
auto x = 3.5;Typ ableiten
const int N = 10; / constexpr int N = 10;Konstante / Konstante zur Übersetzungszeit
int& r = a;Referenz (Alias)
const T&lesende Referenz auf großes Objekt
T* p = nullptr;(nicht besitzender) Zeiger
std::unique_ptr<T>, std::shared_ptr<T>besitzende Zeiger

Die Standardbibliothek im Überblick

HeaderInhalt
<iostream>, <fstream>, <sstream>, <format>Ein-/Ausgabe, Dateien, Strings, Formatierung
<string>, <string_view>Text
<vector>, <array>, <deque>, <list>Folgen
<map>, <unordered_map>, <set>, <unordered_set>Zuordnungen und Mengen
<stack>, <queue>Adapter
<algorithm>, <numeric>, <ranges>Algorithmen
<memory>Smart Pointer
<optional>, <variant>, <tuple>, <utility>Hilfstypen
<functional>std::function, Funktoren
<chrono>, <random>Zeit, Zufall
<thread>, <mutex>, <atomic>, <future>Nebenläufigkeit
<filesystem>Dateisystem
<stdexcept>, <exception>Ausnahmen
<cmath>, <cstdint>, <cstdlib>Mathematik, feste Ganzzahltypen

Häufige Algorithmen

AlgorithmusZweck
sort, stable_sort, partial_sortsortieren
find, find_if, binary_search, lower_boundsuchen
count, count_ifzählen
transformumwandeln
copy, copy_if, remove_if, uniquekopieren und filtern
accumulate, reduce, iotasummieren, füllen
min_element, max_element, minmax_elementExtrema
reverse, rotate, shuffleumordnen
all_of, any_of, none_ofprüfen

Klasse im Überblick

class Beispiel {
public:
    Beispiel() = default;
    explicit Beispiel(int wert) : wert_(wert) {}
    virtual ~Beispiel() = default;
 
    int wert() const { return wert_; }
    void setze(int w) { wert_ = w; }
    virtual std::string name() const { return "Beispiel"; }
 
    bool operator==(const Beispiel&) const = default;
 
private:
    int wert_ = 0;
};
 
class Abgeleitet final : public Beispiel {
public:
    std::string name() const override { return "Abgeleitet"; }
};

Wichtige Compiler-Optionen

g++ -std=c++20 -Wall -Wextra -Wpedantic -Wconversion -O2 -g -fsanitize=address,undefined datei.cpp -o prog
OptionWirkung
-std=c++20 / c++23Sprachstandard
-Wall -Wextra -WpedanticWarnungen
-O0 / -O2 / -O3Optimierung
-gDebuginformationen
-fsanitize=...Laufzeitprüfung
-c, -onur übersetzen, Ausgabedatei
-I, -L, -lHeader-/Bibliothekspfade, Bibliothek

C++-Versionen

StandardWichtige Neuerungen
C++11auto, Lambdas, Smart Pointer, Move, nullptr, Range-for, Threads
C++14generische Lambdas, make_unique
C++17Structured Bindings, optional, variant, string_view, filesystem, if constexpr
C++20Concepts, Ranges, Module, <=>, std::format, span, jthread
C++23std::expected, std::print, import std

Quiz zur Selbstkontrolle

Weiter im Kurs

Zurück: Projektaufbau, Tests und gute Praxis

Alle Kapitel: C++ im Überblick