在程序中多次出现如下代码: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*的成员变量
湖上湖
TA贡献2003条经验 获得超2个赞
-> 结构或类的指针 的成员变量或成员函数。
atom->tag , atom是 结构或类(声明为指针),tag 是它的成员, atom->tag 是值。
memory->destroy (BOP_index); destroy 是memory的成员函数,memory 类(声明为指针)。
其余 类推。
翻翻过去那场雪
TA贡献2065条经验 获得超13个赞
是类或结构体指针访问其成员变量或函数的方式
如struct 或者 class Memory
{
public:
void destroy ();
void create();
int a;
}
Memory* memory = new Memory();
memory->destory();
int b = memory->a;
其实 . 和 -> 都是一个意思,访问成员变量或者函数,区别->用于指针变量
添加回答
举报
0/150
提交
取消