-
동적 할당 배열보다는 Vector를 쓰자. 속도는 같고 더 안전하다.Tech/Development 2013. 5. 29. 23:47
뭐든지 직접 만들어쓰는 버릇이 있어서 기본적인 data structure도 만들어서 써오곤 했는데, 배열도 마찬가지였다. 되도록이면 new/delete를 통해서 직접 만들어쓰곤 했는데, 아무래도 vector를 이용하면 간단히 해결되는 것도 손이 훨씬 많이 간다. 코드가 복잡해지다보면 한번씩은 메모리 누수를 직접 확인해봐야하기도 하고...
그러다가 어느날, 과연 내가 직접 new/delete를 통해서 하나하나 컨트롤하는 것이 c++에서 제공되는 std::vector를 사용하는 것보다 과연 더 빠를까싶은 생각이 들었다. 사실 처음부터 당연히 더 무겁겠지...생각하고 써오지 않았다. 찾아보니 StackOverflow(http://stackoverflow.com)에는 이미 해당 관련 쓰레드가 있고 실험 결과도 있다. Dynamically allocated arrays or std::vector (http://stackoverflow.com/questions/1071674/dynamically-allocated-arrays-or-stdvector)
어찌되었든 배열을 위해서는 되도록이면 vector 혹은 boost::array를 사용하는 것을 추천!