Skip to content

Instantly share code, notes, and snippets.

@krysseltillada
Created October 15, 2015 15:02
Show Gist options
  • Save krysseltillada/7347198369089f95a2c1 to your computer and use it in GitHub Desktop.
Save krysseltillada/7347198369089f95a2c1 to your computer and use it in GitHub Desktop.
memory handling (vectors)
#include <iostream>
int main ()
{
int sz = 0, unalloc_space = 1;
int *elem, input = 0, *alloc_mem = nullptr, *temp_mem;
while (std::cin >> input) {
if (alloc_mem == nullptr) {
++unalloc_space;
unalloc_space *= unalloc_space;
alloc_mem = new int [unalloc_space];
std::cout << "unalloc space " << unalloc_space << std::endl;
}
if (sz == unalloc_space) {
std::cout << "allocating resources " << sz << std::endl;
unalloc_space *= unalloc_space;
temp_mem = new int [unalloc_space];
for (int i = 0; i != sz; ++i)
*(temp_mem + i) = *(alloc_mem + i);
delete alloc_mem;
alloc_mem = new int [unalloc_space];
for (int i = 0; i != sz; ++i)
*(alloc_mem + i) = *(temp_mem + i);
delete temp_mem;
}
*(alloc_mem + sz) = input;
++sz;
}
for (int i = 0; i != sz; ++i)
std::cout << *(alloc_mem + i) << std::endl;
delete alloc_mem;
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment