c++中 . 和 -> 的区别是什么?

如题。

原来我以为->是C的写法。结果发现在c++里,有些地方 . 和 ->是不能替换的

c++中 . 和 -> 主要是用法上的不同。

1、A.B则A为对象或者结构体;

2、A->B则A为指针,->是成员提取,A->B是提取A中的成员B,A只能是指向类、结构、联合的指针;

例如:

class student

{

public:       

string name[20];

}

第一种情况,采用指针访问 student *xy,则访问时需要写成 *xy.name="hhhhh";等价于xy->name="hhhhh"。

第二种情况,采用普通成员访问 student xy,则访问时需要写成 xy.name="hhhhh"。

扩展资料

算术运算符与算术表达式

C++中的算术运算符包括基本的算术运算符和自增、自减运算符。由算术运算符、操作数和括号构成的表达式称为算术表达式。

基本算术运算符有:+(加)、-(减或负号)、*(乘)、/(除)、%(取余)。其中“-”作为负号时为一元运算符,其余都为二元运算符。这些基本算术运算符的意义与数学中相应符号的意义是一致的。它们之间的相对优先级关系与数学中的也是一致的,即先乘除、后加减,同级运算自左向右进行。

温馨提示:内容为网友见解,仅供参考
第1个回答  2010-03-22
主要用于访问类的成员,->主要用于类类型的指针访问类的成员,而.运算符,主要用于类类型的对象访问类的成员。
举例
class A
{public :int a}
A ma;
A *p=&ma;
那么指针p应使用->来访问成员a,比如p->a,而ma应使用.来访问,比如ma.a区别就在这里,凡是指针就使用->,对象就使用.运算符。本回答被提问者采纳
第2个回答  2010-03-23
. 是成员运算符主要用在c++中用来确定类对象和成员之间的关系
-> 是指针的一种用法,是用来指向某个变量的地址.
他们都是操作运算符
第3个回答  2010-03-23
.号左边的是个类的对象,或者结构体的对象
->号的左边是一个类的对象指针,或者结构体对象的指针
CString str; CString类的对象 str.GetLength();
CString *pStr; CString类的指针 str->GetLength();
第4个回答  2019-08-30
您好!
a->b中a为指针,b为成员变量。
a.b中a为结构体变量/类对象,b为成员变量。
另外,C语言就已实现结构体,所以C/C++语言可以在不同的情况用上面对应的操作符。
相似回答