c++ primer书上的一个小问题
书上有句话:
Because references are not objects, they don’t have
addresses. Hence, we may not define a pointer to a reference.
我的理解是因为引用不是一个对象所有引用没有地址,因此不能用引用定义一个
指针,那下面的代码怎么回事?我理解错了?
#include <iostream>
using namespace std;
int main()
{
int a=0;
int &b=a;
int *p1=&a;
int *p2=&b; //这里应该会有错误把,怎么没错误
cout<<"*p1="<<*p1<<endl;
cout<<"*p2="<<*p2<<endl;
return 0;
}
#include <iostream>
using namespace std;
int main()
{
int a=0;
int &b=a;
int *p1=&a;
int *p2=&b; //这里应该会有错误把,怎么没错误
cout<<"p1="<<p1<<endl;//打印两者地址看看
cout<<"p2="<<p2<<endl;
return 0;
}