由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 请问这段程序有什么bug?
相关主题
大侠帮我看看这段程序何解?
(回忆了几道题)有人做过 select2perfrom 的test吗 ?发个amazon online assessment
one C++ questionC++ 程序求助
[请教] C++ coding questionOne C++ question
one C++ questionconst_reverse_iterator和reverse_iterator有什么区别?
新手问个C++(Thinking in C++ source code)新手请教:C++ decrement loop (转载)
问个C++ virtual function的问题算法题求教
C/C++里数组作函数的参数的话应该怎么写?求教:这个程序为什么不能编译?
相关话题的讨论汇总
话题: vector话题: int话题: func话题: cout话题: return
进入JobHunting版参与讨论
1 (共1页)
L****Y
发帖数: 355
1
vector * func()
{
vector v{{1}};
return &v;
}
vector *v = func();
cout<at(0);
s********n
发帖数: 62
2
我就瞎猜猜哦。。
返回的是指向这个vector的地址。
但是这个local vector 在函数结束期就被GC了,
所以再指向这个地址的时候发现是垃圾?
试试把local v变成 global v?
P******r
发帖数: 1342
3
变量v在stack上,你返回后就相当于是放掉了,很可能被其它值覆盖掉

:vector<int> * func()
:{
r*g
发帖数: 186
4
我晕..返回stack上临时数据啊
那个{{1}} 我试了一下居然没问题
我以为只能写成{1}

【在 L****Y 的大作中提到】
: vector * func()
: {
: vector v{{1}};
: return &v;
: }
: vector *v = func();
: cout<at(0);

n*****n
发帖数: 5277
5
stack上的数据函数返回后就没了
n******n
发帖数: 12088
6
当然没问题。调用的是move ctor

【在 r*g 的大作中提到】
: 我晕..返回stack上临时数据啊
: 那个{{1}} 我试了一下居然没问题
: 我以为只能写成{1}

1 (共1页)
进入JobHunting版参与讨论
相关主题
求教:这个程序为什么不能编译?one C++ question
弱问一道c++语法题新手问个C++(Thinking in C++ source code)
为什么大家那么喜欢做leetcode?问个C++ virtual function的问题
c++疑难问题。。C/C++里数组作函数的参数的话应该怎么写?
大侠帮我看看这段程序何解?
(回忆了几道题)有人做过 select2perfrom 的test吗 ?发个amazon online assessment
one C++ questionC++ 程序求助
[请教] C++ coding questionOne C++ question
相关话题的讨论汇总
话题: vector话题: int话题: func话题: cout话题: return