Programming/C++

[C++ STL] size()의 결과를 0과 비교할 생각이라면.... 차라리 empty를 호출하자

Ronie.Kang 2008. 3. 13. 10:29
Effective STL을 찬찬히 다시 읽고 있는 중입니다.
저도 나이를 하나씩 먹어감에 따라서 기억이 가물 가물 해지는군요.

가까운곳에 글을 남겨, 오래 기억 해야겠어요.
결국 밥줄이 이것 밖에 없는데...ㅜㅜ;


if( c.size() == 0 )
    dosomething();

보다는.....

if( c.empty() == 0 )
   dosomething();

이라 쓰는게 좋다 합니다. 이유는 모든 표준 컨테이너에 대해 상수 시간에 실행 된다고 하는군요.
몇몇에서는 list 클래스에 size가 선형 시간에 수행 되는 경우가 많다고 합니다.

STL도 무조건 좋다고 사용하는 것 보다.
하나 하나 성능과 효율을 측정하며 사용하는 건 프로그래머의 몫이 아닐까 합니다.

그럼 오늘도 즐프~