谁能清晰的讲下“->"的作用?

LAST_MAN 2011-11-24 07:54:05
对这个解引用一直 不了解,有谁能告诉我这个->符号的所有用法和作用吗?最好举例子,谢谢了
...全文
69 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
s_hhm 2011-11-24
  • 打赏
  • 举报
回复
其实它的功能有点类似对象"."
比如你定义的是对象 那么你就要用"."去访问成员函数 或成员变量等.
但如果你定义的是指针对象,那该对象要去访问成员函数,或成员变量就要用->.

它不是解引用.是调用该指针指向的对象的成员.
C/C++ code#include <iostream>

using namespace std;

int main()
{
string str = "123";
string* ps = &str;
cout << (*ps).size() << endl;
cout << ps->size() << endl; // (*ps).foo 一般写成 ps->foo
cout<<*ps.size()<<endl; //这才是解引用...
cout<<str.size()<<endl; // 是一个意思
return 0;
}

从上面的代码不难看出,"->" "."都是一样作用.只是左操作对象不同罢了.还有就是你要理解指针....


这是语言语法的问题,已经被定义好了.就像new在C++中就是分配内存用的.至于为什么要这样定义,我也不知道.但我感觉也没必要知道.

希望能帮助你!
hongwenjun 2011-11-24
  • 打赏
  • 举报
回复
#include <iostream>

using namespace std;

int main()
{
string str = "123";
string* ps = &str;
cout << (*ps).size() << endl;
cout << ps->size() << endl; // (*ps).foo 一般写成 ps->foo
return 0;
}
qscool1987 2011-11-24
  • 打赏
  • 举报
回复

指向操作符,我是理解的
首先既然指向,肯定左边是指针了,
然后你看指针类型是什么
最后他指向什么
一般用于类类型

64,318

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧