Как выделить массив памяти в С++ так, чтобы можно было записывать в любое место массива любое кол-во байт?

Требуется этот массив для имитации кучи. Нужно в районе 64 кБайт памяти под неё.
  • Вопрос задан
  • 2626 просмотров
Решения вопроса 1
@xandox
char* memoryPool = new char[64 * 1024];
int i = 10;
memcpy(memporyPool + writeFrom, (char*)(&i), sizeof(i));

как-то так, но это скорее сишный код

можно с вектором
std::vector<char> memoryPool(64 * 1024);
int i = 10;
char* ibytes = static_cast<char*>(&i);
std::copy(ibytes, ibytes + sizeof(i), memoryPool.begin() + writeFrom);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@onepavel
Консультация и разработка мобильных приложений
Вам стоит написать класс, который будет выделять массив необходимого размера.
Перегрузите метод или оператор <<, как делают в логгерах, на прием примитивов.
А запись примитива в байтовый массив рассказывают по ссылке
blog.vsreality.net/?p=536
Ответ написан
@RPG
vector <string> a;
или

vector < vector <char> > a;
и т. п.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы