fork download
  1. #include <iostream>
  2.  
  3. int main()
  4. {
  5. // 1. OK
  6. auto str1 = std::string("abc");
  7. std::cout << str1.c_str() << std::endl;
  8.  
  9. // 2. NG
  10. auto str2 = std::string("abc").c_str();
  11. std::cout << str2 << std::endl;
  12.  
  13. // 22. NG
  14. const char* str22;
  15. {
  16. std::string tmp = std::string("abc");
  17. str22 = tmp.c_str();
  18. }
  19. std::cout << str22 << std::endl;
  20.  
  21.  
  22. // 3. OK
  23. std::cout << std::string("abc").c_str() << std::endl;
  24. return 0;
  25. }
  26.  
Success #stdin #stdout 0s 4568KB
stdin
Standard input is empty
stdout
abc
abc
abc
abc