This should put "_AAA" through "_ZZZ" into a vector. I haven't tested it, so it might have a bug!
std::string s("_ ");
std::vector<std::string> ids;
for(char c1 = 'A'; c1 <= 'Z'; ++c1)
{
s[1] = c1;
for(char c2 = 'A'; c2 <= 'Z'; ++c2)
{
s[2] = c2;
for(char c3 = 'A'; c3 <= 'Z'; ++c3)
{
s[3] = c3;
ids.push_back(s);
}
}
}
Is that what you're looking for?