Состояние проблемы
У меня есть класс шаблона под названием Group, который может получить доступ к несанкционированным местам в памяти. Переменная-член Group::Items указывает на серию мест в куче, в которой хранится последовательность данных, например std::vector (встроенная структура C++). Данными можно манипулировать, чтобы они соответствовали динамическому размеру; Функция-член Group::push(T) предназначена для добавления нового элемента, а функция-член Group& Group::operator*(int) может создавать копии и сохранять их. в Group::Items, передав определенный скаляр параметра, например list() в python, или это должно работать таким образом.
Вот иерархия классов в коде:
template
class Group
{
private:
T* Items; int length;
public:
Group() : length(0)
{
Items = new(std::nothrow) T[0];
}
~Group()
{
delete[] Items; Items = nullptr;
}
void push(T ValuetoPush)
{
T* BufferAddress = new(std::nothrow) T[length + 1]; // allcatoin new heep's place for data
for(int i=0; i
Подробнее здесь: https://stackoverflow.com/questions/784 ... rbage-data