如果在函数内部,我将数据存储在 unordered_set 中,然后返回指向所存储对象的指针,那么指针在函数范围之外是否仍然有效?
例如。
int *myFunc(){
std::unordered_set<int> hashset;
//add some objects
hashset.insert(4);
hashset.insert(5);
hashset.insert(6);
int *intptr = &(*hashset.insert(4)); //try to insert an object that may already be in the set, and get a pointer to the object in the set
return intptr;
}
尝试访问*intptr
另一个函数会导致错误吗?或者当 unordered_set 的范围结束时 unordered_set 中的数据是否被释放?