各位好请问C++的&符号有什么功用?比如:GetWindowRect(dlgRect);
GetWindowRect(&dlgRect);有没有&符号运行时好象没区别。SIMON

解决方案 »

  1.   

    GetWindowRect接收的是Rect的指针,&的作用是取地址
      

  2.   

    有&的时候是指针参数!
    没有&的时候是引用参数!
    GetWindowRect是一个多态函数!:)
      

  3.   

    是的啊,像这样
    GetWindowRect(CRect &rect);
    GetWindowRect(CRect *pRect);
      

  4.   

    取地址运算符,*的逆运算
    例如
    int a = 10;
    int *b = &a(将a地址付给指针b)
      

  5.   

    有区别,有&的是地址传递方式,没有&的是值传递方式,也就是说,在被调函数中,对于没有&传递的参数的处理是无法反映到主调函数所传递的数据的,而对于采用&传递的参数可以对主调函数调用时传送的数据进行对应更改。
      

  6.   

    RECT rect;
    GetWindowRect(&rect);//必须有&CRect rect;
    GetWindowRect(&rect);//可有可无
      

  7.   

    有&的时候是取得是参数的地址,函数体内可以调用此参数的成员函数。
    而没有&的时候是引用参数,但在函数体内,不能调用此参数的成员函数!