요소가 클래스 내에있는 벡터 내부 요소의 위치를 얻는 방법은 무엇입니까? 이 일을하는 방법이 있습니까?std :: vector 내에서 요소 위치 가져 오기
예제 코드 : MAIN.CPP에서
class Object
{
public:
void Destroy()
{
// run some code to get remove self from vector
}
}
:
std::vector<Object> objects;
objects.push_back(<some instances of Object>);
// Some more code pushing back some more stuff
int n = 20;
objects.at(n).Destroy(); // Assuming I pushed back 20 items or more
그래서 내가 반환하는 클래스의 구성원 인 방법 또는 무언가를 쓸 수 있기를 원하는 것 같아요 벡터 내부의 자체 위치 ... 가능합니까?
편집 :
혼란 때문에 더 잘 설명해야합니다.
void Destroy(std::vector<Object>& container){
container.erase(?...?);
}
문제는 어떻게 삭제 번호를 찾을 수 있습니까? 분명히 이것은 불가능합니다 ... 나는 생각하지 않을 수도 있습니다 ...
당신이 필요로하는 의미론을 반영하는 클래스에 대한 적절한 비교 연산자를 작성한 다음'std :: find'를 사용하십시오. – us2012
오브젝트가 벡터,리스트 또는 큐의 멤버 인 경우, 오브젝트는 왜 신경을 썼겠습니까? –
방금 말한 것을 이해하지 못할 까봐 걱정됩니다. 나는'operator == (...)'를 써야하고 std :: find를 사용하면 어떤 코드가 무엇을 하는가? – user3728501