STL中的vector的模板元素为什么不能是引用??
class test {};
vector<test &> 出错??

解决方案 »

  1.   

    vector<test *> MyVec;
    试试,最后不要在stl容器中放指针,你自己要小心,注意释放内存。
      

  2.   

    vector<test *> MyVec;
    试试,最后不要在stl容器中放指针,你自己要小心,注意释放内存。
      

  3.   

    vector<test *> MyVec;
    试试,最后不要在stl容器中放指针,你自己要小心,注意释放内存。
      

  4.   

    我就是觉得在stl容器中放指针会内存泄漏,所以才想使用引用的。
    还有我觉得自己的设计有问题:
    我现在有一个纯虚的基类 variable 派生出两个派生类 number 和 sombol
    我的vector中想放variable来使用多态
      

  5.   

    在STL中,容器的元素要满足三个基本要求:可拷贝(copyable)、可赋值(assignable)、可析构(destroyable)。基本数据类型和自定义的类都满足这些条件,但是引用不满足,因为引用不能析构。如果需要解决内存泄漏问题,可以自己实现一种智能指针就可以了。注意:容器元素千万不要使用stl中的auto_ptr类型。
      

  6.   

    谢谢楼上的各位 ^_^
    如现在已经对原来的代码改动了一下 但是报告有内存泄漏(不幸的事情终于发生了) 
    to wanglei888(阿笨猫):我对智能指针不是很熟悉 有没有什么相关的资料推荐?
    还有就是在STL程序中出现内存泄漏各位老大是怎么查找原因(boundschecker报的泄漏在系统库中 看不懂 555……)