@Bromeon: any particular reason you prefer `&buff[0]` over `buff` (i.e. just letting the array decay to pointer)? And also explicitly calling `std::string`'s constructor?

Just curious.