#include <iostream>
#include <vector>
#include <typeinfo>
template<typename T>
void printVector(const std::vector<T>& vect)
{
std::cout << std::endl << typeid(T).name() << ": " << std::endl;
for(const auto& x: vect)
std::cout << x << ' ';
std::cout << std::endl;
}
int main(int argc, char *argv[])
{
std::vector<int> v1{1,2,3,4,5,6,7,8,9,10};
std::vector<double> v2{1.1,2.1,3.1,4.1,5.1,6.1,7.1,8.1,9.1,10.1};
std::vector<char> v3{'a','b','c','d','e'};
std::vector<std::string> v4{"foo", "bar", "lol"};
printVector(v1);
printVector(v2);
printVector(v3);
printVector(v4);
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8dHlwZWluZm8+CgoKdGVtcGxhdGU8dHlwZW5hbWUgVD4Kdm9pZCBwcmludFZlY3Rvcihjb25zdCBzdGQ6OnZlY3RvcjxUPiYgdmVjdCkKewogICAgc3RkOjpjb3V0IDw8IHN0ZDo6ZW5kbCA8PCB0eXBlaWQoVCkubmFtZSgpIDw8ICI6ICIgPDwgc3RkOjplbmRsOwogICAgZm9yKGNvbnN0IGF1dG8mIHg6IHZlY3QpCiAgICAgICAgc3RkOjpjb3V0IDw8IHggPDwgJyAnOwogICAgc3RkOjpjb3V0IDw8IHN0ZDo6ZW5kbDsKfQoKaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKewogICAgc3RkOjp2ZWN0b3I8aW50PiB2MXsxLDIsMyw0LDUsNiw3LDgsOSwxMH07CiAgICBzdGQ6OnZlY3Rvcjxkb3VibGU+IHYyezEuMSwyLjEsMy4xLDQuMSw1LjEsNi4xLDcuMSw4LjEsOS4xLDEwLjF9OwogICAgc3RkOjp2ZWN0b3I8Y2hhcj4gdjN7J2EnLCdiJywnYycsJ2QnLCdlJ307CiAgICBzdGQ6OnZlY3RvcjxzdGQ6OnN0cmluZz4gdjR7ImZvbyIsICJiYXIiLCAibG9sIn07CgogICAgcHJpbnRWZWN0b3IodjEpOwogICAgcHJpbnRWZWN0b3IodjIpOwogICAgcHJpbnRWZWN0b3IodjMpOwogICAgcHJpbnRWZWN0b3IodjQpOwp9