Zeichenketten verknüpfen

C++:
Zeichenketten verknüpfen

How to:

#include <iostream>
#include <string>

int main() {
    std::string gruss = "Hallo ";
    std::string welt = "Welt!";
    std::string begruessung = gruss + welt;
    
    std::cout << begruessung << std::endl; // Ausgabe: Hallo Welt!
    
    // Anhängen mit += Operator
    std::string frage = "Wie geht's, ";
    frage += "dir?";
    std::cout << frage << std::endl; // Ausgabe: Wie geht's, dir?
    
    return 0;
}

Deep Dive

String-Konkatenation ist so alt wie das Programmieren mit höheren Sprachen selbst. Frühe Programmiersprachen wie C boten dafür low-level Funktionen wie strcat() aus der <cstring> Bibliothek. C++ vereinfacht den Prozess mit dem + Operator und der std::string Klasse. Alternativen in C++ sind:

  • stringstream aus <sstream>: Nützlich für komplexe Formattierungen.
  • string::append(): Äquivalent zum += Operator, aber flexibler.
  • fmt::format aus der {fmt} Bibliothek (extern): Eine moderne Alternative.

Implementierungsdetails:

  • Überladung des + Operators ermöglicht einfachen Code.
  • Verkettungsoperationen können ineffizient sein, da sie neue Strings erzeugen. Bei großen oder vielen Operationen sind Alternativen zu bevorzugen.
  • std::string nutzt dynamischen Speicher, was Overhead zur Laufzeit verursacht.

See Also