Преимущества использования reference_wrapper вместо необработанного указателя в контейнерах?

Какие преимущества имеет использованиеstd::reference_wrapper как параметр шаблона контейнеров вместо необработанных указателей? Этоstd::vector<std::reference_wrapper<MyClass> > противstd::vector<MyClass*>

Мне нравится забывать о пустых значениях и не использовать синтаксис указателя, а многословность типов (т.е.vector<reference_wrapper<MyClass> >) плюс то, что сайт вызова использует std :: ref, чтобы обернуть реальную ссылку, заставляет меня думать, что это не стоит.

Я имею в виду случаи, когда использование std :: shared_ptr или любого другого умного указателя не является вариантом.

Существуют ли другие преимущества использования reference_wrapper или каких-либо других факторов, которые я в настоящее время не принимаю во внимание? (Я думаю, что мой вопрос относится как к reference_wrapper C ++ 11, так и к boost)

Ответы на вопрос(2)

Ваш ответ на вопрос