STL을 선언하는 방식에 대한 짧은 글을 써볼까 한다.
책에서도 그렇고 보통은 STL을 선언할 때, typedef를 쓴다.
std::vector< class_A >를 type std::vector< class_A > VECClassA라는 식으로 말이다.
하지만, 개인적으로는 이런 방식을 별로 좋아하지 않는다.
typdef를 할 경우에 타자 쳐야하는 수도 줄어들고, 가독성이 높아진다고 하는데, 나는 그렇지가 않더라...
이름을 위에 예처럼 지으면, vector안에 들어가는 것들이 뭔지 알 수 있다고 한다.
하지만, 보통 저런 간단한 형태만을 쓰는 일은 거의 없다.
std::map< std::string, std::vector< class_A > >이건 어떻게 이름을 지을것인가?
어떤 경우 저보다 더 복잡한 경우도 생기기 마련이다.
일이라는 게 책에서 나온대로만 되면 얼마나 좋겠냐만, 실제로는 그렇지가 않은 경우가 많다.
타자치는 건 visual assist를 사용하거나 6.0만 벗어나면, 자동완성기능이 visual studio에 내장되어있다.
굳이 타자 몇개 덜 치는 건 의미가 없다는 얘기다.
std::map< std::string, std::vector< std::vector< class_A > > >같은 골때리는 것들을 써보면 내가 왜 이런 얘기를 하는 지 알 수 있을 거다...
저런 걸 쓰는 이유는 원래 mdb로 된 걸 txt파일로 바꿔야하기 때문이다;;; 64Bit OS에서는 DAO database class가 지원되지 않기에, 울며 겨자먹기로 mdb를 txt파일로 바꿔야했고, 이걸 loading, select, save하는 걸 구현하려면, 저딴식의 STL을 선언할 수 밖에 없다=_=



최근 덧글