const std::string makeUniqueName()
{
srand(time(NULL));
std::string s;
std::generate_n(const_cast<char*>(s.c_str()), 10, RndGenerator());
return s;
}
이 코드는 안전한가요? 컴파일러는 경고 메시지를보고하지 않습니다.이 코드는 안전한가요?
아니요, 물론 아닙니다. 'generate_n'은 데이터를 쓸 곳이 필요합니다. – juanchopanza
'const_cast'를 사용하여 자신을 발견했지만 그 이유를 이해하지 못한다면 그 대답은 거의 확실합니다. "아니오!" – benjymous
쓰기 가능한 메모리에'.c_str()'을 사용하지 말고, 반복자를 사용하십시오. 그리고 ** const 값으로 ** 돌아 오지 마십시오. – Griwes