c++ 中 . 和 箭头 的区别

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

-> 主要用于自定义类类型指针访问类的成员,

. 运算符主要用于类的对象访问类的成员,或者,结构体变量访问结构体的成员。

class A { public: int a; } A ma; // 声明一个对象,在栈中 A * p = new A; // 堆中创建对象,需要自行delete ma.a = 10; p->a = 20;

指针p应使用 -> 来访问成员a,比如p->a

而 ma 应使用 . 来访问,比如ma.a

区别:凡是指针就全使用 -> ,对象就使用 . 运算符

类的 this 是指针,所以也用 ->

http://t.zoukankan.com/Renyi-Fan-p-12961980.html

this指针是C++实现封装的一种机制,它将对象和对象调用的非静态成员函数联系在一起,从外部看来,每个对象都拥有自己的成员函数。当创建一个对象时,编译器会初始化一个this指针,指向创建的对象,this指针并不存储在对象内部,而是作为所有非静态成员函数的参数。

http://c.biancheng.net/view/66.html

在 C/C++ 语言中,使用 new 实例化类型后,访问其成员变量时必须使用->操作符

您可能还喜欢...

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注