Nếu tôi sử dụng mã này:Lấy ký tự cuối cùng trong một stringstream mà không cần sao chép toàn bộ đệm của nó
template <typename Streamable>
/* ... */
std::stringstream ss;
ss << function_yielding_a_Streamable();
auto last_char = ss.str().back();
sau đó (tôi tin) một bản sao của chuỗi trong ss
's đệm sẽ cần phải được tạo ra, chỉ cần để tôi có được nhân vật cuối cùng, và sau đó nó sẽ bị phá hủy. Thay vào đó tôi có thể làm điều gì đó tốt hơn không? Có lẽ sử dụng phương pháp seekp()
?
Tại sao đặt 'chuỗi' vào 'stringstream' ở nơi đầu tiên? – Sean
@ean: Câu hỏi công bằng, xem chỉnh sửa. – einpoklum
Có lẽ, nó không * có * là 'chuỗi ký tự'? Có lẽ bạn có thể sử dụng luồng tùy chỉnh thay thế. – user2079303