gpt4 book ai didi

c++ - vector 还存在吗?

转载 作者:太空狗 更新时间:2023-10-29 23:41:47 24 4
gpt4 key购买 nike

std::vector<float> someOp(void)
{
using namespace std;
vector<float> results;
// some operations done to results
return results;
}

int main(void)
{
using namespace std;
vector<float> &results = someOp();
}

someOp返回的vector存在于someOp()栈空间还是main()栈空间?

我倾向于相信它不会被复制/移动到 main() 堆栈空间,因为结果 vector 在两种方法中具有相同的地址。

最佳答案

都不是,那不是有效的 C++(并且不会被 g++ 编译)。

看起来您正在尝试存储对返回的results 的引用,但这是不可能的,因为返回的results 存在于someOp< 的栈帧中,虽然它在 someOp() 返回后仍然存在,但会在未来的某个时间点被覆盖。

关于c++ - vector 还存在吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8115572/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com