Pal*_*han 2 c++ vector dangling-pointer
假设我有以下内容:
struct Foo {
Foo () : bar(NULL), box(true) {}
Bar* bar;
bool box;
};
Run Code Online (Sandbox Code Playgroud)
我宣布以下内容:
std::vector<Foo> vec(3);
Run Code Online (Sandbox Code Playgroud)
我现在有一个功能,它做了这样的事情:
Foo& giveFoo() { //finds a certain foo and does return vec[i]; }
Run Code Online (Sandbox Code Playgroud)
然后调用者将Foo其通过引用获得的地址传递Foo*给其他人.然而,我想知道的是,如果这个指针Foo在触发向量增长后仍然有效vec吗?如果现有的Foo元素vec被复制,那么大概Foo*是浮动的那个现在会悬空?是这种情况吗?我正在调试一个应用程序,但无法重现这个.
| 归档时间: |
|
| 查看次数: |
92 次 |
| 最近记录: |