std::vector<char> items(10, 'A');
However, if you want to initialize a vector with different values, you can write a template template for a standard vector initializer and use it everywhere:
template<typename T>
struct initializer
{
std::vector<T> items;
initializer(const T & item) { items.push_back(item); }
initializer& operator()(const T & item)
{
items.push_back(item);
return *this;
}
operator std::vector<T>&() { return items ; }
};
int main() {
std::vector<int> items(initializer<int>(1)(2)(3)(4)(5));
for (size_t i = 0 ; i < items.size() ; i++ )
std::cout << items[i] << std::endl;
return 0;
}
Conclusion:
1
2
3
4
5
Ideon Demo: http://ideone.com/9dODD
Nawaz source
share