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

引用和地址的有关问题

2012-03-05 
引用和地址的问题#includeiostreamvoidinitialize(charconst**ptrPtr){*ptrPtr c_stylepointer-to-poi

引用和地址的问题
#include   <iostream>


void   initialize(char     const   **ptrPtr)
{
        *ptrPtr= "c_style   pointer-to-pointer ";

}
void   initialize(char   const   *&refPtr)
{
          refPtr= "c++   reference ";
}
int   main()
{
      char   const   *ptr;
      initialize(&ptr);
      std::cout < <ptr < <endl;
      initialize(ptr);
      std::cout < <ptr < <endl;
}
输出结果是:
c_style   pointer-to-pointer
c++   reference
问下
initialize(&ptr);调用时   &ptr中的是取地址还是引用呀?
void   initialize(char   const   *&refPtr)这个char   const   *&refPtr   里面的&是引用还是取地址呀
c++中还有没有取地址这个说法呀?书看到这又迷惑了  
还有为什么initialize(&ptr);调用的是void   initialize(char     const   **ptrPtr)
  initialize(ptr);调用的是void   initialize(char   const   *&refPtr



[解决办法]
initialize(&ptr);调用时 &ptr中的是取地址还是引用呀?
取地址

void initialize(char const *&refPtr)表示参数是指针的引用

还有为什么initialize(&ptr);调用的是void initialize(char const **ptrPtr)
initialize(ptr);调用的是void initialize(char const *&refPtr
重载的原因
[解决办法]
看简单的例程
void funcn1(int &ri);
void funcn2(int *pi);
void funcn3(int *&rpi);

int main()
{
int i = 3;
int *pi = &i;
funcn1(i);
funcn2(&i);
funcn3(pi);

return 0;
}
希望说清楚了
[解决办法]
*(*ptrPtr) = *(&ptr);
*(&refPtr) = *(ptr);
了解了不 ?

热点排行