Jeśli używam tego kodu:Uzyskanie ostatni znak w stringstream bez kopiowania cały jego bufor
template <typename Streamable>
/* ... */
std::stringstream ss;
ss << function_yielding_a_Streamable();
auto last_char = ss.str().back();
następnie (wierzę) kopię napisu w buforze ss
„s będą musiały być tworzone tylko dla mnie, aby uzyskać ostatnią postać, a następnie zostanie zniszczona. Czy mogę zamiast tego zrobić coś lepszego? Być może używając metody seekp()
?
Dlaczego należy położyć 'string' do' stringstream' w pierwszej kolejności? – Sean
@Sean: Fair question, patrz edit. – einpoklum
Przypuszczalnie nie * ma * być "stringstream"? Być może zamiast tego możesz użyć strumienia niestandardowego. – user2079303