在C++中用下标法访问数组元素时,系统会把a[i]自动转换成*(a+i),就是通过利用元素地址间接访问的方式。 5

那是不是对普通变量如:intb=5;对变量b中的内容进行访问时,也是在编译时首先转换成*&b再访问,即先取地址再间接访问的方式???麻烦大家指教下!... 那是不是对普通变量如:int b=5;对变量b中的内容进行访问时,也是在编译时首先转换成 *&b再访问,即先取地址再间接访问的方式???麻烦大家指教下! 展开
 我来答
icelbja
2012-04-07 · TA获得超过138个赞
知道小有建树答主
回答量:180
采纳率:100%
帮助的人:152万
展开全部
不是,有些比如 数组 ,字符串(“asdf”)是先申请存储空间 再返回指向首地址的指针,然后int b=5申明时是不返回指针的。
更多追问追答
追问
int main()
{
int b,d;
b=5;
cout<<b<<endl;
d=*&b;
cout<<d<<endl;

return(0);
}
运行结果是:
5
5
就是说通过*&b跟直接输出b的值效果等同,但在编译阶段是不是会将b自动转换为*&b?????我若直接写成*&b的执行速度会不会更快??????
追答
不会啦,b的内存空间存放的值为5 ,这种类型是不返回指针的,直接取内存里的值,要是转换成*&b那不是又要申请内存存放指针&b吗多浪费呀,至于什么快不快 好像只有引用快些,这不是引用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式