Couldn't I just have a dynamic array (not vector), which I can grow as much as I want? Like

Code:
if (texture_count >= array_size) {
    array_size += 32;
    GLuint *temp = new GLuint[array_size];
    memcpy(temp, textures, texture_count);
    delete[] textures;
    textures = temp;
    glGenTextures(32, textures + array_size - 32);
}
then, when clearing:

Code:
glDeleteTextures(array_size, textures);
So, can I delete two different but consecutive blocks of texture IDs at the same time?