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

如题所述

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

2、例如:

struct A
{
   int a;
   int b;
};
A *point = malloc(sizeof(struct A));
point->a = 1;
A object;
object.a = 1;

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-04-24
基本上无区别 举个例子 struct A { int a; }; 假如 struct A a; struct *p =&a; A.a 和 p->a 是相同的,.是普通类型访问方式,->是指针访问方式 指针访问时要确保指针有效 假如 struct A *p2 =NULL; p2->a,这样程序就挂了,p2没指向有效内存本回答被提问者采纳
第2个回答  2012-04-24
如果一个指针型变量指向一个类的实例,该指针访问实例中的成员时,要使用->,但如果这个实例本身要访问自身的成员,就使用. 举个例子:
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??
第3个回答  2012-04-24
比如C++中一个类Class Student;里面有个公有成员变量test
如果你声明这个类的对象Student s;那么你要对test操作要用"." s.test
如果你声明这个类的对象Student *s为指针类型的话,那么你要对test操作要用"->"s->test
第4个回答  2012-04-24
没有区别的!!就看你想用哪一个了!1
相似回答