Все мои попытки до сих пор потерпели неудачу. Как правило, когда я возвращаю копию внутреннего массива символов строки, эта копия должна быть выпущена, но я не знаю, как ее выпустить. Обертка ее в интеллектуальном указателе не потому что он деструктор вызван сразу после того, как я возвращаю его. Должен ли я реализовать что-то вроде сборщика мусора только для неизменяемой строки?
const std::string
будет в порядке.
const std::string
нельзя перемещать, в то время как выделенный класс может это поддерживать. Аналогичным образом вы можете играть в игры с подстроками, рискуя удержать какой-то огромный буфер из-за крошечной подстроки, которая все еще ссылается на нее.
const std::string
?