C++中成员访问->和.的区别和联系

在C++中,指针和对象的成员访问方式有所不同。具体来说:
对象使用.运算符来访问其成员,使用.运算符是针对直接的对象。
指针使用->运算符来访问它所指向对象的成员,使用->运算符是针对指针所指向的对象。
比如:
stack <int> &stackobject=st; stack.empty() stack.pop() stack.push() ...
相当于stackobject是栈变量st的别名,对stackobject操作就是对st操作。
stack <int> *stackpointer=&st; stackpointer->empty() stackpointer->pop() ...
此时stackpointer相当于指向栈st的指针,通过stackpointer->XXX才能实现在栈st中的操作。
如果就是想在当以指针的条件下使用直接对象访问可以写成(*stackpointer).empty()。

总结一下:datetype &stackobject相当于被指向对象的别名,直接对stackobject操作相当于对被指向对象操作。
datetype stackpointer相当于被指向对象的地址,(stackpointer)可直接访问被指向对象,如果否则使用->实现被指对象的具体操作。

posted @ 2024-09-21 20:52  jenniferCAI  阅读(27)  评论(0)    收藏  举报