有一小问题,始终不明白。请高人指教
  我首先定义了一个结构,比如STRUCT_SUBMIT
  如果用CList,保存这个结构,那么写成
  CList<STRUCT_SUBMIT,STRUCT_SUBMIT>  sSubmit;  
  还是 CList<STRUCT_SUBMIT,STRUCT_SUBMIT&> sSubmit;   
  我的程序都用的是CList<STRUCT_SUBMIT,STRUCT_SUBMIT>  sSubmit;同事们写的有用CList<STRUCT_SUBMIT,STRUCT_SUBMIT&> sSubmit; 的,这两种对CList的声明那种对呢,总有区别吧,区别是什么?请指教
 还有一个类似的就是函数的声明,void Submit(STRUCT_SUBMIT &sSubmit);还是
           void Submit(STRUCT_SUBMIT &);  有没有区别,郁闷几天了,先谢谢

解决方案 »

  1.   

    template< class TYPE, class ARG_TYPE >
    class CList : public CObjectParametersTYPEType of object stored in the list.ARG_TYPEType used to reference objects stored in the list. Can be a reference.
    第一个参数是列表中节点的类型
    第二个参数是到时候调用clist成员函数的时候,那些参数的类型
    比如AddHead( ARG_TYPE newElement );
    “我的程序都用的是CList<STRUCT_SUBMIT,STRUCT_SUBMIT>  sSubmit;同事们写的有用CList<STRUCT_SUBMIT,STRUCT_SUBMIT&> ; 的,这两种对CList的声明那种对呢,总有区别吧,区别是什么?请指教

    区别就是,你这种,以后调用函数的参数是STRUCT_SUBMIT,而你同事是STRUCT_SUBMIT&
    对于结构体和类对象,用引用效率更高,
    “void Submit(STRUCT_SUBMIT &sSubmit);还是
               void Submit(STRUCT_SUBMIT &); ”
    一样