LINUX.ORG.RU

История изменений

Исправление Sahas, (текущая версия) :

наслаждайся

#include<string>

int main() {
  const char *result = std::string("something").c_str();
  printf("%s\n", result);
  return 0;
}
saha@saha-swift ~ $ g++ -Wall test.cpp 
saha@saha-swift ~ $ ./a.out 
something
saha@saha-swift ~ $ g++ --version
g++ (Gentoo 9.2.0-r2 p3) 9.2.0

P.S. Я понимаю, что указатель стал невалидным, но пример не очень показательный. Отстрелить себя ногу можно и более изощрёнными способами :)

Исправление Sahas, :

наслаждайся

#include<string>

int main() {
  const char *result = std::string("something").c_str();
  printf("%s\n", result);
  return 0;
}
saha@saha-swift ~ $ g++ -Wall test.cpp 
saha@saha-swift ~ $ ./a.out 
something
saha@saha-swift ~ $ g++ --version
g++ (Gentoo 9.2.0-r2 p3) 9.2.0

P.S. Я понимаю, что ссылка стала невалидная, но пример не очень показательный. Отстрелить себя ногу можно и более изощрёнными способами :)

Исходная версия Sahas, :

наслаждайся

#include<string>

int main() {
  const char *result = std::string("something").c_str();
  printf("%s\n", result);
  return 0;
}
saha@saha-swift ~ $ g++ -Wall test.cpp 
saha@saha-swift ~ $ ./a.out 
something
saha@saha-swift ~ $ g++ --version
g++ (Gentoo 9.2.0-r2 p3) 9.2.0