创建一个浅拷贝而不会泄漏内存并在C ++中悬空指针

时间:2018-02-04 21:56:21

标签: c++ memory-leaks delete-operator shallow-copy

或者这是不可能的,我必须做一个深层复制。假设我有一个对象A,我想将A的浅层副本复制到B。如果我删除AA会破坏所有成员,那么B会有悬空指针。如果A没有销毁其成员,那么B的指针仍然很好。但是,如果我删除B,那么当B被破坏时,其成员不会被销毁,所以我会泄漏内存。有没有办法让对象知道它何时只有对内存的引用,并将其删除?或者这是不可能的,我必须使用深层复制。

1 个答案:

答案 0 :(得分:0)

  

对象是否有办法知道何时它有唯一的引用   记忆,删除它?

是的,它被称为 <Footer style={{ backgroundColor: "#FFFFFF" }}> <FooterTab style={{ backgroundColor: "#FFFFFF" }}> <Button onPress={() => { Actions.Startpage();}}> <Icon name="search" size={30} color="#3ba936" /> <Text style={styles.smalltext} numberOfLines={1}>Ontdekken</Text> </Button> <Button onPress={() => { Actions.ThemasPage();}}> <Icon name="id-card" size={30} color="#3ba936" /> <Text style={styles.smalltext} numberOfLines={1}>Thema's</Text> </Button> <Button style={{marginBottom:20, borderRadius:50, height: 90, backgroundColor: '#FFFFFF', overflow: 'visible'}} onPress={() => { Actions.EventPage();}}> <Icon name="calendar-plus-o" size={50} color="#3ba936" /> <Text style={styles.smalltext} numberOfLines={1}>Evenementen</Text> </Button> <Button onPress={() => { Actions.Wildpage();}}> <Icon name="binoculars" size={30} color="#e50040" /> <Text style={styles.smalltext} numberOfLines={1}>100% Wild</Text> </Button> <Button onPress={() => { Actions.MenuPage();}}> <Icon name="bars" size={30} color="#3ba936" /> <Text style={styles.smalltext} numberOfLines={1}>Menu</Text> </Button> </FooterTab> </Footer>