fork download
  1. #include <iostream>
  2. #include <forward_list>
  3. #include <string>
  4.  
  5. struct TMP {
  6. std::string idinahui;
  7. std::forward_list<TMP*> list;
  8.  
  9. public:
  10. TMP* _this;
  11. TMP() {
  12. _this = this;
  13. }
  14. };
  15.  
  16. int main() {
  17. TMP tmp;
  18. tmp.idinahui = "idinagui, suqa";
  19.  
  20. tmp.list.push_front(&tmp);
  21. tmp.list.front()->list.push_front(&tmp);
  22. tmp.list.front()->list.front()->list.push_front(&tmp);
  23.  
  24. tmp.list.front()->list.front()->idinahui = "SUQAAAAAAAAAA";
  25.  
  26. tmp.list.front()->list.front()->list.front()->idinahui = "ABC";
  27.  
  28. std::cout << "tmp._this = " << tmp._this << std::endl;
  29.  
  30. std::cout << tmp.list.front() << std::endl;
  31. std::cout << tmp.list.front()->list.front() << std::endl;
  32. std::cout << tmp.list.front()->list.front()->list.front() << std::endl;
  33.  
  34. std::cout << std::endl;
  35.  
  36. std::cout << tmp.list.front()->idinahui << std::endl;
  37. std::cout << tmp.list.front()->list.front()->idinahui << std::endl;
  38. std::cout << tmp.list.front()->list.front()->list.front()->idinahui << std::endl;
  39. }
Success #stdin #stdout 0s 15240KB
stdin
Standard input is empty
stdout
tmp._this = 0x7ffd87379f00
0x7ffd87379f00
0x7ffd87379f00
0x7ffd87379f00

ABC
ABC
ABC