Консультация № 172464
22.09.2009, 10:05
0.00 руб.
0 4 1
Здраствуйте, у меня вопрос о typedef!
Вот в msdn наткнулся на следущее
Код:

#include <vector>

...

using namespace std;

...
typedef vector<int> MyIntVect

Как понимать строчку выделеную красним цветом?

Обсуждение

Неизвестный
22.09.2009, 10:10
общий
Зачем typedef я знаю, но в этом случае совершенно непонимаю к какому типу дается синоним MyIntVect!
давно
Академик
20764
1861
22.09.2009, 10:35
общий
Вы уверены, что знаете? Тут сложно понять неправильно, и даже название нового типа подсказывает что это - вектор целых.

MyIntVect v;
v[5] = 4;
for (MyIntVect::iterator i = v.begin();...
Неизвестный
22.09.2009, 12:19
общий
это ответ
Здравствуйте, Steplervas.

Определяется новый тип MyIntVect. Элементами данного типа будут векторы, содержащие целые числа.
Дело в том, что vector - это настраиваемый тип. В момент определения типа на основе типа vector необходимо задать тип элементов вектора.
Это делается с помощью конструкции vector<тип_элементов>, в вашем случае - vector<int>.
После этого тип полностью определен и его можно использовать в команде typedef.
Неизвестный
22.09.2009, 12:31
общий
Steplervas:
Цитата: 255835
Зачем typedef я знаю, но в этом случае совершенно непонимаю к какому типу дается синоним MyIntVect!

MyIntVect становится синонимом vector<int>
Форма ответа