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

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

一、总结

一句话总结:

->主要用于类类型的指针访知问类的成员,.(点)运算符主要用于类类型的对象访问类的成员,或者结构体访问成员。
class A
{public :int a}
A ma;
A *p=&ma;
那么指针p应使用->来访版问成员a,比如p->a,而ma应使用.来访问,比如ma.a区别就在这里,凡是指针就权使用->,对象就使用.运算符。

 

 

 

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

转自或参考:c++中 . 和 -> 的区别是什么?_百度知道
https://zhidao.baidu.com/question/143290358.html

 

1、回答一

->主要用于类类型的指针访知问类的成员,.(点)运算符主要用于类类型的对象访问类的成员,或者结构体访问成员。
举例
class A
{public :int a}
A ma;
A *p=&ma;
那么指针p应使用->来访版问成员a,比如p->a,而ma应使用.来访问,比如ma.a区别就在这里,凡是指针就权使用->,对象就使用.运算符。

 

 

2、回答2

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"。

 

 

原文链接: https://www.cnblogs.com/Renyi-Fan/p/12961980.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

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

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/350871

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月2日 上午6:34
下一篇 2023年3月2日 上午6:34

相关推荐