New to C++ Please recommend some things to read based on this code
<p>Hi I'm trying to understand this program,  I have a basic knowledge of c++ but this code is over my head. I just need to understand it thoroughly. Can you please take a look and recommend me what to read about or explain the syntax. </p>

<p>Thanks much </p>

<pre><code>#ifndef IQ_C
#define IQ_C

#include"iq.h"
#include&lt;cassert&gt;

issue_queue_t::issue_queue_t(unsigned int size) : used(size) {};

void issue_queue_t::resize(int size)
{
used.resize(size);
}

unsigned int issue_queue_t::size()
{
return used.size();
}

void issue_queue_t::clear()
{
used.assign(used.size(),IQ_ENTRY_FREE);
}

void issue_queue_t::free_iq_entry(const unsigned int entry_num)
{
assert(used[entry_num]==IQ_ENTRY_ALLOC);
used[entry_num] = IQ_ENTRY_FREE;
} 

int issue_queue_t::find_iq_entry()
{
for(int i=0;i&lt;static_cast&lt;int&gt;(used.size());i++)
{
    if(used[i]==IQ_ENTRY_FREE)
    {
        return i;
    }
}
return -1;
}

int issue_queue_t::alloc_iq_entry()
{
int i = find_iq_entry();
if(i==-1)
{
    return -1;
}
assert(used[i]==IQ_ENTRY_FREE);
used[i]=IQ_ENTRY_ALLOC;
return i;
}

#endif
</code></pre>
