Помогите разобрать кусок программы - Компьютерные вопросы

Вопрос Помогите разобрать кусок программы

Регистрация
24 Сен 2013
Сообщения
77
Репутация
0
Спасибо
0
Монет
0
vector_int *r = new vector_int;
r->insert( r->begin(), mas, mas + sizeof( mas )/sizeof(mas[0]) );
mvvar.push_back( r );

почему mas + sizeof( mas )/sizeof(mas[0]) зачем тут так делается?
 
Регистрация
23 Июн 2013
Сообщения
80
Репутация
0
Спасибо
0
Монет
0
В этом случае не понять что такое mas, оно должно быть ранее предопределенно. sizeof(mas[0]) возвращает размер первой ячейки какого-либо контейнера, возможно даже стринга (говорю же, это не весь код) в целом sizeof( mas )/sizeof(mas[0]) - определяет, сколько ячеек выделенно для этого контейнера, К примеру у нас есть динамический массив с 10 элементами типа Int. Указатель на 64 разрядной система (если не изменяет память) 8 байт. Получается, что весь массив указателей = 80 байт делим на 1 из нех на 8 и получаем размер = 10.
 
Сверху Снизу