Почему в C ++ не работает хранение ссылок (не указателей) в контейнерах?

В моей программе есть набор STL.

set<string> myStrings;

Чтобы повысить эффективность моего кода, я изменил его на хранение, только указатели. (Мне не нужно сохранять фактические копии строк.)

set<string*> myStrings;

Я читал, что рекомендуется по возможности заменять указатели ссылками. (Конечно, только если фактическая функциональность указателя не нужна.)

set<string&> myStrings;

Однако последний из них дает мне много ошибок компилятора. Почему невозможно использовать ссылки в качестве элементов контейнера?

24
задан ubuntugod 14 April 2016 в 08:09
поделиться