c++中使用指针的.和->运算符的区别

如题所述

第1个回答  2009-12-23
一般,结构体和类中,对于非结构指针实例用"."(下面的pt),而指针型的结构体实例用"->"(下面的*p)。
举例子来说:
struct point
{
int x;
int y; //包含两个变量成员
};
void main()
{
point pt;
point *p;
pt.x=1;
pt.y=2;
cout<<pt.x<<endl<<pt.y<<endl;//不能用“->”
cout<<p->x<<endl<<p->y<<endl;//不能用“.”
}
这是结构体的,类也是一样的。本回答被提问者采纳
第2个回答  2009-12-23
都一样吧 不过 老师说 指针最好用->
第3个回答  2009-12-23
.直接地址
-> 间接地址
最常用的在结构体.

struct _AAA
{
char a[1];
char b[2];
}AAA;

main()
{
AAA aaa;
AAA* bbb;

这时:
aaa.a
bbb->b
方式 接近变量。b是指针。
}

c++中使用指针的.和->运算符的区别
一般,结构体和类中,对于非结构指针实例用"."(下面的pt),而指针型的结构体实例用"->"(下面的*p)。举例子来说:struct point { int x;int y; \/\/包含两个变量成员 };void main(){ point pt;point *p;pt.x=1;pt.y=2;cout<<pt.x<<endl<<pt.y<<endl;\/\/不能用“->”cout<<p...

C++中“->”和“.”在使用中有什么区别呢
1、->是指针指向其成员的运算符 .是结构体的成员运算符。最大的区别是->前面放的是指针,而.前面跟的是结构体变量。2、例如:struct A{ int a; int b;};A *point = malloc(sizeof(struct A));point->a = 1;A object;object.a = 1;...

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="hhh...

VC++里面::和->的区别是什么
::是表示域,->表示指针对象 比如 class A { static int i;} 可以用A::i来取得其成员变量i 如果定义A的指针对象A *a = new A;那么则可以用a->i来取i

运算符“->”和“.”的区别,下面例子中功能一样吗?
也就是说->前面必须是个结构体指针或对象指针,而.的前边必须是对象或结构体本身。。。.运算符号是引用变量用到得运算符,而->是对象指变量用的运算符,现在的JAVA,c#因为抛弃了指针(指针就是个大麻烦,C#仍可用指针,但99%的情况不用),只有引用变量,->和*也见不到了,只有.。。。

C++中(*it).m和it->m的区别是?
没有区别,->操作符就是为了使用指针调用函数时避免歧义而有的。所谓歧义就是当it是一个指针时,执行 *it.m 时, .操作符的优先级比*操作符高,会产生歧义,因为it指针是没有成员函数的,避免麻烦和歧义,就有了->来替代(*x).y,他们实现的效果是一样的。你追问楼下那个可能是由于it本身是一...

C++中::和:, .和->的作用和区别?
在C++中,符号“::”和“:”以及“.”和“->”各自具有独特的功能。让我们一一解析。首先,"::"用于表示作用域解析运算符,用于访问类的成员。它用来指定在哪个命名空间或类中查找特定的成员,例如在继承、全局变量或函数中。例如,当需要访问一个基类的成员时,我们会使用"::",如`BaseClass::...

c++中“::”和“->”
“::”称为分辩符,指明了成员函数所属的类 如:M::f(s)就表示f(s)是类M的成员函数 “->”在C++中优先级最高 如:若a为一指向对象的指针,a->f(s)就表示调用a所指的对象中的成员函数 f(s)

c++中的:: -> >>分别是什么意思?
1.作用域运算符"::"作用域:变量在程序中的起作用范围 作用域运算符:"::"如果希望在局部变量的作用域内使用同名的全局变量,可以在该变量前加上"::","::"称为作用域运算符.2.->运算符:左边的指针变量通过指向的地址访问所在地址里面的内容 3.>>运算符:是右移位运算符,把左操作数的二进制...

c++中的 -> 、::、 .的作用,都分别用在什么地方
上面用了::符号,就表明函数foo是属于类A的。->是指向运算符,其作用与成员运算符(.)是一样的,只不过在它左边的名字不是实例,而是指针。依然用类A。A *p = new A;p->foo(); \/\/调用类A的指针变量p指向的实例的成员函数foo p->number = 0; \/\/调用类A的指针变量p指向的实例的...

相似回答