std::vector<Point>* FindPoints()
{
std::vector<Point>* result = new std::vector<Point>();
//...
return result;
}
이게 좋지 못한 코드의 유형이라는데...
나중에 delete 로 날려버리는데 왜 이게 좋지 못한건지 이해를 못하겠어.
stackoverflow 에서 봤다가 언어의 장벽에 부딪쳐서 여기로 옴 ㅠ
http://stackoverflow.com/questions/5060996/why-is-creating-stl-containers-dynamically-considered-bad-practice
As a rule of thumb, you don't do this because the less you allocate on the heap, the less you risk leaking memory. :) 걍 맨첫줄읽으면 c에서의 당연한 이유지만 하지말래요 ㅎ.ㅎ
그래서 안할려구요. 메모리릭느낌아니깐
질문자는 나중에 delete로 지워버린다는걸 가정하고 있습니다. the less you risk leaking memory 라고 한 건, delete 를 실수로 빼먹었을 수도 있는 가능성을 미연에 방지한다는 의미구요. 결국 근본적인 이유는 아닌듯합니다.
콘테이너라서 좋지 못하다기 보다 저런 방식이 안좋다는 얘기
함수안에서 생성해서 그 포인터를 반환하는 방식말야
아직 내공이 부족해서 이해가 안되네 ㅠㅠ
대안을 제시하고 있는데
읽었음?
"언어의 장벽에 부딪쳐서" 힝...
생각해보니까 메모리릭도 작은 이유는 아닌거같아..