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++中的算术运算符包括基本的算术运算符和自增、自减运算符。由算术运算符、操作数和括号构成的表达式称为算术表达式。
基本算术运算符有:+(加)、-(减或负号)、*(乘)、/(除)、%(取余)。其中“-”作为负号时为一元运算符,其余都为二元运算符。这些基本算术运算符的意义与数学中相应符号的意义是一致的。它们之间的相对优先级关系与数学中的也是一致的,即先乘除、后加减,同级运算自左向右进行。
主要用于访问类的成员,->主要用于类类型的指针访问类的成员,而.运算符,主要用于类类型的对象访问类的成员。
举例
class A
{public :int a}
A ma;
A *p=&ma;
那么指针p应使用->来访问成员a,比如p->a,而ma应使用.来访问,比如ma.a区别就在这里,凡是指针就使用->,对象就使用.运算符。
. 是成员运算符主要用在c++中用来确定类对象和成员之间的关系
-> 是指针的一种用法,是用来指向某个变量的地址.
他们都是操作运算符
.号左边的是个类的对象,或者结构体的对象
->号的左边是一个类的对象指针,或者结构体对象的指针
CString str; CString类的对象 str.GetLength();
CString *pStr; CString类的指针 str->GetLength();
您好!
a->b中a为指针,b为成员变量。
a.b中a为结构体变量/类对象,b为成员变量。
另外,C语言就已实现结构体,所以C/C++语言可以在不同的情况用上面对应的操作符。