Is there an elegant way to create and initialize a const std::vector like const T a[] = { ... } to a fixed (and small) number of val
Old question, but I ran into the same issue today, here's the approach that was most acceptable for my purposes:
vector initVector(void)
{
vector initializer;
initializer.push_back(10);
initializer.push_back(13);
initializer.push_back(3);
return intializer;
}
int main()
{
const vector a = initVector();
return 0;
}
Example to avoid excessive copying:
vector & initVector(void)
{
static vector initializer;
if(initializer.empty())
{
initializer.push_back(10);
initializer.push_back(13);
initializer.push_back(3);
}
return intializer;
}
int main()
{
const vector & a = initVector();
return 0;
}