이것은 어리석은 질문이지만 이것을 수행하는 방법을 모릅니다.C++에서 포인터를 어떻게 이동합니까?
나는 개체와 벡터를 가지고있다. 실행 중 설정된 시간에이 객체를 벡터에 넣고이 객체를 새 객체로 덮어 써야합니다. 나는 현재 이것을 갖고있다.
std::vector<Cube*> cubes;
Cube* workingCube = new Cube();
...
cubes.insert(cubes.begin(), workingCube);
workingCube = new Cube();
나는 포인터와 관련된 이유로 인해 틀렸다. 나는 이것을 제대로하는 방법을 알 수 없다.
std::vector<Cube> cubes;
Cube workingCube;
cubes.insert(cubes.begin(), workingCube);
workingCube = Cube();
경우 Cube
당신 수있는 용기에 std::move(workingCube)
대신, 이동 복사 비싸지 만 싼 : 우리는 포인터 및 명시 적 동적 할당을 피할 경우
새로운 배치를 사용할 수 있지만 이는 잘못된 설계입니다. 어쩌면 똑똑한 포인터가 근본적인 문제를 해결할 수 있습니다. – BatchyX
@CarlNorum 내 파트의 오타가있는 부분이 수정되었습니다. – Valyrion
@BatchyX : 새로운 배치가 어떻게 문제와 관련되는지 확인하지 못했습니다. –