在CArchive持续化中有下面一句:
friend CArcheve& AFXAPI operator>>(CArchive& ar,const CObject*& pOb);const CObject *&  pOb中“*”与“&”在一起,具体该怎么理解啊?哪位出手帮帮忙啦!

解决方案 »

  1.   

    指针的引用!
    就是说在该函数中,对pOb的改动将影响到函数体制外。
      

  2.   

    应该是 定义引用一个const CObject *   的变量pOb
      

  3.   

    例如:下例中p1于p2的区别:
    #include <iostream>
    using namespace std;
    void a(char* a)
    {
        a++;
    }
    void b(char*&b)
    {
        b++;
    }
    int main()
    {
        char ch[10] = {'a','b','c','d','e','f'};
        char *p1, *p2;
        p1 = &ch[0];
        p2 = &ch[0];
        a(p1);
        b(p2);
        cout <<"p1 = " << *p1 << endl;
        cout << "p2 = " << *p2 << endl;
        system("pause");
        return 0;
    }
    显示输出 p1 = a; p2 = b;
    昨天下班了,没有来得及写,不好意思!
    请指正。
      

  4.   

    你要修改需要用*
    a++;->*a = *a +1;