在C++语言中"."和"->"都是用来访问结构成员的符号,这一点的确没有区别,区别在于符号的左边。
"." 通过结构名直接访问结构成员,左边是结构的名称!(类似于直接寻址)
"->"通过指向结构的指针间接地访问结构成员,左边是指针变量!(类似于间接寻址)
可能说的不大明白,下面举一个例子:
typedef struct Param
{
int Devil;
int Bios;
}PARAM;
typedef struct tagShMem
{
PARAM stDevilBox[10];
}ShMEM;
void InitShMem()
{
ShMEM* qi = new ShMEM;
qi->stDevilBox[3].Devil = 2; (1)
...
...
}
仔细看(1)就清楚了。