Olaf Klischat schrieb am 14.01.2022 14:54:
FĂĽr Lokalisierungen zum Beispiel ist das im Vergleich zu Formatstrings denkbar ungeeignet, wĂĽrde ich sagen.
Genau das ist der Knackpunkt. Die Reihenfolge der einzufügenden Strings ist häufig von der Satzstellung und damit der Sprache abhängig.
Die iostreams-Methode ist für so etwas völlig untauglich, und daher eigentlich nur für maschinenlesbare Texte sinnvoll welche unabhängig von der Sprache immer auf dieselbe Weise eingelesen und interpretiert werden. Also Config-Files und dergleichen. Dafür reicht es.
Aber in allen Fällen wo Menschen die ausgegebenen Texte direkt zu Gesicht bekommen sollen, und die somit möglicherweise einst übersetzt werden müssen, taugen nur Lösungen mit String-Interpolation wie die POSIX-Variante von printf() oder eben dieses neue Rust-Makro.
Letzteres ist sogar insofern noch besser, als die EinfĂĽgeposition durch einen Bezeichner gekennzeichnet wird und nicht ĂĽber die Reihenfolge der Argumente wie bei printf(). Dabei kann man sich einfach zu leicht irren.