CList第二个参数的意思(原创)

仅仅是个人体会,不一定正确,欢迎交流

CList是一个双向链表

CList m_ListProgHistoryName;

CList m_ListSplitTaskItem;

CList m_ListProgType;

CList  m_aFreeFrame;

其中ONE_SPLIT_TASK_ITEM是一个结构体,PPROG_TYPE_ITEM是指向结构体PROG_TYPE_ITEM的指针,第二个参数加&对CList的成员函数传参数而言是引用传递,而不加就是值传递直接传递对象进去,这就是区别。当然对于指针类型的如PPROG_TYPE_ITEM是无需考虑这个的,直接传递指针就去即可,不需要加&。而对结构或者类加&高效一些。

使用自己定义的类的时候需要重载=操作符,但是发现COne_Frame并有重载,能用,是不是因为使用的是COne_Frame指针的问题,呵呵

对于自己定义的结构体而言,好像不用重载=也可以使用,我用

CList m_ListSplitTaskItem;实验了一下,发现不重载也可以使用CList

你可能感兴趣的:(CList第二个参数的意思(原创))