Einen String mit n-mal Zeichen erstellen

Wenn man z.B. in Konsolenprogrammen eine lange Trennzeile ausgeben will dann kann man einen String erstellen mit einer definierten Anzahl eines Zeichens:

const std::string delimiter = std::string(40, '-');

Damit erzeugt man einen String bestehend aus 40 mal das Zeichen – (Minus).

Sortieren in C++

Um z.B. eine Liste von Strings zu sortieren, kann man die Strings in einen Vector packen und mit dem „sort“-Algorithmus sortieren. Dabei kann man sich auf das Standardsortierungskriterium verlassen oder mit einem Lambda das Sortierungskriterium angeben.

#include <iostream>
#include <vector>
#include <algorithm>

const std::string delimiter = std::string(40, '-');

void display(std::vector<std::string>& vec) {
    std::cout << delimiter << std::endl;
    std::for_each(vec.begin(), vec.end(), 
        [](std::string s) { std::cout << s << std::endl; });
    std::cout << delimiter << std::endl;
}

int main()
{
    std::vector<std::string> friends{ "Frank", "Bernhard", "Thomas", "Michael", "Janusch" };

    std::cout << "Unsortiert!\n";
    display(friends);

    std::cout << "Sortiert alphabetisch!\n";
    std::sort(friends.begin(), friends.end());
    display(friends);

    std::cout << "Sortiert nach Länge des Namens!\n";
    std::sort(friends.begin(), friends.end(), 
        [](const auto& first, const auto& second) { return first.size() < second.size(); });
    display(friends);
}