Укажите тип вектора со строкой - PullRequest
5 голосов
/ 20 декабря 2011

Как указать тип со строкой? Я имею в виду:

string s = "int";
Vector<s> vec;

И я хочу, чтобы vec был vector<int>. Возможно ли это?

Я хочу создать класс, в котором пользователь может вводить строку, и будет создан вектор с этим типом.

Ответы [ 2 ]

5 голосов
/ 20 декабря 2011

Невозможно в C ++, по крайней мере, не так, как вы хотите.

Шаблоны представляют собой концепцию времени компиляции , а пользовательский ввод - концепцию времени выполнения . Совершенно другой, не смешиваемый.

Чтобы это работало, вам нужен динамически типизированный язык, а не C ++. Статически напечатано.

3 голосов
/ 20 декабря 2011

Возможно ли это?

Это невозможно в C ++. Если вы используете опцию boost, рассмотрите возможность создания вектора из boost::variant объектов: таким образом, ваш статически типизированный vector будет готов принять элементы разных типов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...