几年前我刚刚遇到了我的前同事写的一段代码.老实说,我不是C专家,所以我正在寻求帮助.
代码如下所示:
std::vector<OBJ> objects; void initobjs() { for (int i=0; i<10; i++) { OBJ obj; obj.type=i; obj.len=16; objects.push_back(obj); } }
我的问题是:在函数initobjs()返回之后,是不是所有的obj实例都已经超出范围并被C运行时系统自动释放了?如果是,那么对添加到向量中的任何对象的内容的引用是否会导致内存错误或意外结果?