내가 좋아하는 일을하고있다 : 나는 디버깅 할 때, x.abc
직접 할당 한 후 올바른 보이지만 담당자가 빠른 시간 이후 x.abc의 데이터가 쓰레기std :: vector :: operator []의 반환 주소는 무엇입니까?
struct ABC{
int p,q,r;
};
struct X{
ABC *abc;
X(ABC &abc) : abc(&abc) {}
};
std::vector<ABC> vec;
... //populate vec
X x(vec[2]);
. 그것은 내게 포인터가 지역 변수에 있다고 생각하게 만들고있다. 그러나 vector::operator[]
은 참조를 반환하므로 그렇게 가능하다.
코드가 더 필요합니다. vec은 무엇입니까? –
조금 업데이트되어 명확 해졌습니다. –