fork download
  1. #include <iostream>
  2. #include <iterator>
  3. #include <string>
  4. using namespace std;
  5.  
  6. class substr {
  7. const std::string & s;
  8. std::size_t len;
  9.  
  10. friend std::ostream& operator<<(std::ostream& os, const substr &ss) {
  11. std::copy(ss.s.begin(), ss.s.begin() + std::min(ss.len, ss.s.size()),
  12. std::ostream_iterator<char>(os));
  13. return os;
  14. }
  15. public:
  16. substr(const std::string & s, std::size_t len) : s(s), len(len) {}
  17. };
  18.  
  19. int main() {
  20. int x = 7;
  21. string foo = "This is a test!";
  22. cout << substr(foo, x);
  23. return 0;
  24. }
Success #stdin #stdout 0s 3460KB
stdin
Standard input is empty
stdout
This is