On Thu, Dec 29, 2016 at 2:53 PM, Andrey Semashev
On 12/29/16 11:54, Olaf van der Spek wrote:
On Thu, Dec 29, 2016 at 1:19 AM, Yakov Galka
wrote: On Tue, Dec 27, 2016 at 4:47 PM, Olaf van der Spek
wrote: One frequently needs to append stuff to strings, but the standard way
(s += "A" + "B" + to_string(42)) isn't optimal due to temporaries.
Can't we already write it through (((s += "A") += "B") += to_string(42))? This is the time I think that assignment operators, other than =, should have had left associativitiy... pity they don't.
We can, but it's ugly and I'd like to avoid the explicit to_string. It also wouldn't allow the two-pass optimization to calculate the final length before allocation.
I already mentioned in the std-proposals discussion that I don't think formatting
should be dealt with by std::string or a function named append(). If
formatting
is to be involved I'd suggest creating a formatting library, but at that
point you should
provide clear advantages over the other formatting libraries we have in
Boost.
Or that exist elsewhere, e.g. https://github.com/fmtlib/fmt --DD