首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

std:map使用有关问题

2012-02-13 
std::map使用问题昏啊。std::map用起来会出样的问题::std::map key,ClassAclassA使用指针好,还是引用,还

std::map使用问题
昏啊。
std::map   用起来会出样的问题::std::map <key,ClassA>
classA   使用指针好,还是引用,还是拷贝。。昏啊。
classA*指针:自己释放,好像没有问题(不释放程序停止他也会自己搞顶)。
        但是如果忘记了那里delete了   classsA   就内存XXX了

classA&引用的话,一个小心那里提前被谁释放了。。不可预测    
如下:
        class   mymap{
          public:
                  ::std::map   mapYe <key,ClassA>
        }    
        class   myuserMap{
          public:
                void   addUit(){
                    Class   a;
                          a.xx   =   yy;
                      mapYe[ "kk "]   =a;
                }
          }
        一切由天定了。。。如果你在其他地方用到mapYe[ "kk "]的话
     
classA:拷贝。我的最爱,可是靠   要自己实现深度拷贝。麻烦。
        如果classA   里面
                需要把operator=   搞定。



[解决办法]
不管你用不用STL,自己写的类都要实现正确的赋值运算符和拷贝构造函数。
[解决办法]
可以考虑用std::tr1::shared_ptr <class A> 。
[解决办法]
尽量让你的对象满足“值语义”。

[解决办法]
指针,对象都放,引用没放过

热点排行