社区
C语言
帖子详情
菜鸟问题:(->) 和 (.) 有什么区别,是不是调用指针对方法就用 -> ,调用对象的方法就用 . ?
Rukee
2001-11-22 09:48:45
为什么会有这种区别?回答必给分!
...全文
247
16
打赏
收藏
菜鸟问题:(->) 和 (.) 有什么区别,是不是调用指针对方法就用 -> ,调用对象的方法就用 . ?
为什么会有这种区别?回答必给分!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lfd_boy
2001-11-26
打赏
举报
回复
建议看看<<c++高级参考手册>>之类的书
Rukee
2001-11-26
打赏
举报
回复
谢谢大家帮忙!
给分了!
分嘛,各位老兄谁有需要,跟我说一声,我一定帮忙加!
我在做一个类似画笔工具的ActiveX组件,希望和大家交流!
golden_alvin
2001-11-25
打赏
举报
回复
->还有很重要的一点就是可以重载,做smart pointer
flashman
2001-11-25
打赏
举报
回复
“ ->” 用结构指针 (和“ .” 一样也是结构成员操作符)
{使用箭头操作符就是对结构成员进行操作。但必须清楚:当用点操作符时,它的左边应是一个结构变量,当用箭头操作符时,它的左边应是一个结构指针}
e.g.
struct person
{
char name[20];
unsigned long id;
//...
}
viod main()
{
person pr1;
person * prPtr;
prPtr = &pr1;
strcpy(prPtr->name,"David Marat");
prPtr->id = 987654321;
//...
}
其中:prPtr->id 等价于 pr1.id 等价于 (*prPtr).id
也就是说,可以用 "." 而不使用 "->"
:Rukee同学你明白了吗? 若是还有什么不清楚的 QQ联系
QQ号码是.......... //分是你给的,号码是我给的,呵呵,这个世界还是挺公平的嘛,是不?
Rukee
2001-11-23
打赏
举报
回复
唉,真没用啊。什么C++编程思想,深入浅出MFC,还看了微软的MCSE的书。
再回来问这种菜菜菜问题,无奈呀。书上说的就是这样子用的,跟着抄也没错。我只是不明白为什么C++里用一个东西,又是指针、又是实例、又是引用。该何去何从。
看样子要去看第二遍了。
似乎在用C++来折磨自己的,何苦呢,何必呢!
不发牢骚了,只能说自己似乎明白了一些。
还有很多菜鸟问题,也还有很多分!会和大家一起来分享的。
Rukee
2001-11-22
打赏
举报
回复
象zhang_wei_question(zhangwei)说的
(*pa).f();
怎么解释呢?
是不是(*pa)也表示一个实例?
如果是指针的话呢是不是应该这样
pa->f();
?
zhang_wei_question
2001-11-22
打赏
举报
回复
当然可以:
class A
{
public:
void f() { };
};
A *pa;
(*pa).f();//
我认为:调用指针就用 -> ,调用对象就用 . 就像匈牙利变量命名法一样,让自己明白。
zjlsct
2001-11-22
打赏
举报
回复
300分问这样的问题,有钱人!
gloss
2001-11-22
打赏
举报
回复
比如:
class AA{
public:
int a;
int b;
};
AA z,*p;
如果访问对象z中的a,则应:z.a;
如果访问指针对象*p中的a,则应:p->a;
对于结构类型也一样;
东门河蟹
2001-11-22
打赏
举报
回复
就是指针的问题,如果结构是指针的话,就只能用->
否则用.
dis_covery
2001-11-22
打赏
举报
回复
the difference in pointer and instance
kingfish
2001-11-22
打赏
举报
回复
struct Person{
char name[10];
int age;
}you;
struct Person *p;
p = &you;
p->age =24;
(*p).age=24; //指针都可以用
you.age =24; //struct只能用.
lj9852
2001-11-22
打赏
举报
回复
这随便哪本书上都有把,通常的用法是,->的左边是一个类指针,右边是类成员。.的左边是类实例,右边也是类成员,如:
class a
{
public:
void f() { };
};
a *pa;
a b;
pa->f();
a.f();
bdsc
2001-11-22
打赏
举报
回复
(->) 和 (.) 有什么区别,是不是调用指针对方法就用 -> ,调用对象的方法就用 . ?
看到这两个东西想到的应该是:对象。
他们的名字应该叫:成员析取(也有叫访问)符,用来访问对象的属性和方法。
->是间接析取(通过地址)
.是直接析取(通过名字)
->可以重载(重要的设计手段之一)。
.不能重载
NowCan
2001-11-22
打赏
举报
回复
(*pa).f();
怎么解释呢?
是不是(*pa)也表示一个实例?
当然了,*pa就是实例。是pa指针指向的实例。
lj9852
2001-11-22
打赏
举报
回复
A *pa;
这里(*pa).f()就等价于 pa->f();
比如int *p;自己想想 p 和 *p 的区别就应该可以明白了吧。
#C语言——学习攻略:深挖
指针
路线(二)--const修饰、野
指针
分析、断言和
指针
的作用
本文聚焦C语言
指针
,介绍了const修饰
指针
,包括修饰变量和
指针
变量的不同作用;分析野
指针
成因,如未初始化、越界访问等,并给出规避
方法
;讲解asser断言的使用及优缺点;还阐述
指针
的使用,以及传值
调用
和传址
调用
的
区别
与适用场景。
指针
与数组的联系与
区别
【一万六千字超详解】
本文深入探讨了C语言中数组与
指针
的概念、联系与
区别
,详细分析了数组的内存布局、数组名与
指针
的关系、数组传参的特点以及
指针
与数组元素访问的打通机制。
大型连续剧:从
菜鸟
到大佬之初识
指针
篇
本文介绍了C语言中的
指针
基础知识,包括
指针
的概念、类型和大小。通过比喻将
指针
理解为变量的地址,帮助读者理解
指针
如何在内存中工作。在32位系统中,不同类型的
指针
大小均为4个字节。文章还探讨了
指针
和无符号整数的
区别
,指出虽然两者都能存储地址,但
指针
提供了更精确的内存访问方式。
golang中数组
指针
和
指针
数组的
区别
本文深入探讨了Golang中数组
指针
与
指针
数组的概念
区别
。数组
指针
指向整个数组的地址,而
指针
数组则是数组元素均为
指针
类型。通过具体示例代码展示了两者的使用场景及输出结果。
菜鸟
如何理解
指针
和引用
本文深入浅出地解析了
指针
、引用及地址的概念,对比了三者在C/C++中的
区别
与联系,通过实例说明了值传递、
指针
传递与引用传递的不同,以及它们在函数参数中的应用。
C语言
70,038
社区成员
243,247
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章