这完全是奇怪的.我有一些代码,我从文件中读取一些参数,并将它们存储在两个stl向量中.我有原子和残基,每个原子都有一个指向他残留物的指针.完成读取后,在声明变量后,看起来内存中的值发生了变化:
atoms[0].resid :0x96fc250 &(atoms[0].resid->ID) :0x96fc25c **(atoms[0].resid->ID) :1** atoms[1].resid :0x96fc250 &(atoms[1].resid->ID) :0x96fc25c **(atoms[1].resid->ID) :1** atoms[2].resid :0x96fc3ec &(atoms[2].resid->ID) :0x96fc3f8 (atoms[2].resid->ID) :2 atoms[3].resid :0x96fc3ec &(atoms[3].resid->ID) :0x96fc3f8 (atoms[3].resid->ID) :2 --------------------------------------- atoms[0].resid :0x96fc250 &(atoms[0].resid->ID) :0x96fc25c **(atoms[0].resid->ID) :891301941** atoms[1].resid :0x96fc250 &(atoms[1].resid->ID) :0x96fc25c **(atoms[1].resid->ID) :891301941** atoms[2].resid :0x96fc3ec &(atoms[2].resid->ID) :0x96fc3f8 (atoms[2].resid->ID) :2 atoms[3].resid :0x96fc3ec &(atoms[3].resid->ID) :0x96fc3f8 (atoms[3].resid->ID) :2
这是代码.我真的不知道自己做错了什么
#define FT_GRO 1
using namespace std;
class residue{
public:
residue(){}
residue(const residue& r){atoms=r.atoms; …Run Code Online (Sandbox Code Playgroud) c++ ×1