Error: “Wrapper object use after free (WRAPPER_ESCAPE)”
Error: “Wrapper object use after free (WRAPPER_ESCAPE)”
...
Object& a = list.front();
list.pop_front();
...
完成上述操作后我需要使用&a。但是coverity是提高免费发行后的使用率。在执行 pop_front() 后使用 &a 有问题吗?
有
Object& a = list.front();
您使 a
reference 成为列表的最前面的元素。当您稍后弹出前面的元素时,它会被破坏,留下对不存在对象的引用。
您应该 复制 元素
Object a = list.front();
或者可能移动它
Object a = std::move(list.front());
...
Object& a = list.front();
list.pop_front();
...
完成上述操作后我需要使用&a。但是coverity是提高免费发行后的使用率。在执行 pop_front() 后使用 &a 有问题吗?
有
Object& a = list.front();
您使 a
reference 成为列表的最前面的元素。当您稍后弹出前面的元素时,它会被破坏,留下对不存在对象的引用。
您应该 复制 元素
Object a = list.front();
或者可能移动它
Object a = std::move(list.front());