为了账号安全,请及时绑定邮箱和手机立即绑定

有谁知道,在c++中 -> 是什么意思,请问该如何使用啊?

有谁知道,在c++中 -> 是什么意思,请问该如何使用啊?

拉丁的传说 2021-12-29 15:11:10
在程序中多次出现如下代码:memory->destroy (BOP_index);memory->create (BOP_index,nall,"BOP_index");还有int *tag = atom->tag;int timestep = update->ntimestep;int newton_pair = force->newton_pair;很困惑->在这里是什么意思,有什么作用,请高手解答
查看完整描述

3 回答

?
繁花不似锦

TA贡献1851条经验 获得超4个赞

memory是指针类型
memory->destroy(Bop_index);
memory是一个指向一个类型的对象的指针,memory->destroy()是调用了里面的destroy函数
如下int timestep = update->ntimestep; 是将update所指向的对象的里面的ntimestep的成员变量的值赋值给timestep;
int *tag = atom->tag;看上去tag应该是一个int*的成员变量

查看完整回答
反对 回复 2022-01-04
?
湖上湖

TA贡献2003条经验 获得超2个赞

-> 结构或类的指针 的成员变量或成员函数。
atom->tag , atom是 结构或类(声明为指针),tag 是它的成员, atom->tag 是值。
memory->destroy (BOP_index); destroy 是memory的成员函数,memory 类(声明为指针)。
其余 类推。

查看完整回答
反对 回复 2022-01-04
?
翻翻过去那场雪

TA贡献2065条经验 获得超13个赞

是类或结构体指针访问其成员变量或函数的方式
如struct 或者 class Memory
{
public:
void destroy ();
void create();
int a;
}
Memory* memory = new Memory();
memory->destory();
int b = memory->a;

其实 . 和 -> 都是一个意思,访问成员变量或者函数,区别->用于指针变量



查看完整回答
反对 回复 2022-01-04
  • 3 回答
  • 0 关注
  • 145 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信