Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > std::vector < Class& > - будет работать?


Автор: GKosh 24.1.2006, 08:50
При изменении vector <Class*> на vector <Class&> получаю кучу ошибок в где-то xmemory, неужели в векторах нельзя хранить ссылки на объекты?

Автор: azesmcar 24.1.2006, 10:09
неа..

твой вектор сам использует ссылки
если проинициализировать template class как ссылку получается что-то типа ссылки на ссылку..

посмотрим такой пример
Код

template <class T>
class A
{
public:
   A(T& p)
   {
   }
};

int main()
{
   int t = 0;
   A<int&> r(t); //неверно
   A<int> r(t); //верно
   return 0;
}

Добавлено @ 10:10
а ошибка не где-то в xmemory smile а конкретно
forming reference to reference type `Class&'

Автор: GKosh 24.1.2006, 19:39
Ясно, жаль. Кажется когда я пользовался .NET'овскими коллекциями, там было можно ссылки хранить, впрочем я точно не помню. В любом случае спасибо что расствали точки на и.

Автор: Void 24.1.2006, 19:47
GKosh
Ссылки в .NET и ссылки в C++ — это «две большие разницы».
В векторе ты можешь хранить указатели или умные указатели — это даст желаемый эффект.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)