2013-08-19 6 views
1

Давайте предположим, что у меня есть следующие:Iterate shared_ptr <станд :: вектор <T>>

auto vec = std::shared_ptr<std::vector<T>> 

И я хочу, чтобы перебрать все vec объектов, использующих C++11 Range-Based для Loop.

следующие работы:

for (auto entity: *vec) 

мой вопрос в любом случае, чтобы сделать то же самое без использования оператора *?

+5

Почему вы хотите опустить '*'? –

+0

Имя является общим указателем, следовательно нет. –

+2

Я могу понять вектор, содержащий общие указатели, но не общий указатель, содержащий вектор. –

ответ

12

№. Единственный разумный способ разыменования указателя - с помощью оператора разыменования.

+0

Я люблю короткие ответы. Спасибо :) – MBZ

Смежные вопросы