Ciąg znaków i formatowania (nowoczesny C++) we/wy
C++ iostreams są bardziej kłopotliwe w użyciu dla sformatowany ciąg we/wy.Alternatywnie można użyć Boost.Format z bibliotek C++ zwiększenie wydajności, mimo, że jest niestandardowy.Można pobrać z dowolnym bibliotekę zwiększenie wydajności zwiększenie wydajności witryny sieci Web.
Niektóre zalety Boost.Format są następujące:
Dla całej: Typ palety i zgłasza wyjątek dla błędów — na przykład, specyfikacja zbyt mała lub zbyt wiele elementów.
Extensible: Sprawdza w przypadku dowolnego typu, który można przesłać strumieniowo.
Wygoda: Standard Posix i podobne ciągi formatów.
Chociaż Boost.Format jest oparty na C++ iostreams, które są bezpieczne i rozszerzalny, nie są optymalizacji wydajności.Gdy potrzebujesz, aby zoptymalizować wydajność, należy rozważyć C printf i sprintf, które są szybkie i łatwe w użyciu.Jednak nie są one extensible i bezpieczne z luk w zabezpieczeniach.(Istnieją wersje bezpieczne, ale wiążą się niewielkie wydajnie.Aby uzyskać więcej informacji, zobacz printf_s, _printf_s_l, wprintf_s, _wprintf_s_l i sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l).
Poniższy kod demonstruje, niektóre z zwiększenie wydajności funkcji formatowania.
string s = str( format("%2% %2% %1%\n") % "world" % "hello" );
// s contains "hello hello world"
for( auto i = 0; i < names.size(); ++i )
cout << format("%1% %2% %|40t|%3%\n") % first[i] % last[i] % tel[i];
// Georges Benjamin Clemenceau +33 (0) 123 456 789
// Jean de Lattre de Tassigny +33 (0) 987 654 321