C++中“->”和“.”在使用中有什么区别呢

 我来答
tattackor
推荐于2017-09-27 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:898万
展开全部

1、->是指针指向其成员的运算符 .是结构体的成员运算符。最大的区别是->前面放的是指针,而.前面跟的是结构体变量。

2、例如:

struct A
{
   int a;
   int b;
};
A *point = malloc(sizeof(struct A));
point->a = 1;
A object;
object.a = 1;
wanfustudio
2012-04-24 · TA获得超过1万个赞
知道大有可为答主
回答量:5513
采纳率:100%
帮助的人:3778万
展开全部
基本上无区别 举个例子 struct A { int a; }; 假如 struct A a; struct *p =&a; A.a 和 p->a 是相同的,.是普通类型访问方式,->是指针访问方式 指针访问时要确保指针有效 假如 struct A *p2 =NULL; p2->a,这样程序就挂了,p2没指向有效内存
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
107080285
2012-04-24 · TA获得超过1114个赞
知道小有建树答主
回答量:390
采纳率:50%
帮助的人:164万
展开全部
如果一个指针型变量指向一个类的实例,该指针访问实例中的成员时,要使用->,但如果这个实例本身要访问自身的成员,就使用. 举个例子:
struct h{ int i;int j;};

struct h hh; //实例化
//注意使用.的地方哦:
hh.i = 10;
hh.j = 100;
sturct h* p = &hh;
//注意:下面使用->
p->i = 100;
p->j = 1000;
这个意思,do u understand??
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友75cf018
2012-04-24 · 超过18用户采纳过TA的回答
知道答主
回答量:43
采纳率:0%
帮助的人:54.6万
展开全部
比如C++中一个类Class Student;里面有个公有成员变量test
如果你声明这个类的对象Student s;那么你要对test操作要用"." s.test
如果你声明这个类的对象Student *s为指针类型的话,那么你要对test操作要用"->"s->test
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
鑫晨1989
2012-04-24 · TA获得超过1249个赞
知道小有建树答主
回答量:1468
采纳率:25%
帮助的人:636万
展开全部
没有区别的!!就看你想用哪一个了!1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式