В c-строках нам нужно выделить разумный объем памяти.Чтобы избежать перераспределения в строковых операциях, мы можем использовать что-то вроде Stringbuilder в C # или Java или - в C - просто выделить больше памяти для строки.Но все же это может быть проблемой, если мы заранее не знаем требования к памяти.У нас есть какая-то реализация, такая как связанный список?Я хочу выделить список блоков памяти и метод c_str()
, который создает c-строку из своих узлов
liststring a(4); // requested block size
a.append("hello ");
a.append("world");
// should create three nodes, 4 bytes allocated for each
// "hell" -> "o wo" -> "rld"
a.c_str(); // "hello world";
Или мы используем другой подход, если хотим избежать перераспределений?Пожалуйста, объясните, если это плохая идея.