STL 컨테이너에게만 국한된 이야기가 아니니 소스코드로 컴파일러가 어떻게 해석하는지 추측해 보자.
소스 코드를 보면 알겠지만 (i) 가 좀 생소하다. 컴파일러는 (i) 에서의 () 는 생략해 버린다. 하지만 함수의 매개변수로 () 는 좀 다른 의미를 가지고 있다. 소스 코드로 대신 한다.
.. 그렇다 컴파일러는 "함수 매개변수로 () 로 주게 되면, .. 함수의 포인터가 인자네~"라고 인식한다! 그렇기 때문에.. 아래 코드는 list<int>를 반환하는 data명의 함수 선언으로 인식한다.
여담으로
혹시 ifstream 사용법 아시는분은, 좀 알려 주세요.. MSVC2005 입니다.
2008/07/27 20:41 추가 : fstream 헤더파일에 약간 문제가 있었다.(아마도 보는 중에 오타 난 듯)
관련링크
http://lagoons.net/tt/574 .. 왜 트랙백 발송이 안되지..
소스 코드를 보면 알겠지만 (i) 가 좀 생소하다. 컴파일러는 (i) 에서의 () 는 생략해 버린다. 하지만 함수의 매개변수로 () 는 좀 다른 의미를 가지고 있다. 소스 코드로 대신 한다.
.. 그렇다 컴파일러는 "함수 매개변수로 () 로 주게 되면, .. 함수의 포인터가 인자네~"라고 인식한다! 그렇기 때문에.. 아래 코드는 list<int>를 반환하는 data명의 함수 선언으로 인식한다.
여담으로
혹시 ifstream 사용법 아시는분은, 좀 알려 주세요.. MSVC2005 입니다.
2008/07/27 20:41 추가 : fstream 헤더파일에 약간 문제가 있었다.(아마도 보는 중에 오타 난 듯)
관련링크
http://lagoons.net/tt/574 .. 왜 트랙백 발송이 안되지..
'책 정리 > Effective STL' 카테고리의 다른 글
항목 11 : 커스텀 할당자를 제대로 사용하는 방법을 이해하자. (0) | 2008.07.15 |
---|---|
항목 10 : 할당자(allocator)의 일반적인 사항과 제약 사항에 대해 잘 알아 두자. (2) | 2008.07.14 |
항목 9 : 데이터를 삭제할 때에도 조심스럽게 선택할 것이 많다. (0) | 2008.07.13 |
항목 8 : auto_ptr의 컨테이너는 절대로 만들지 말자. (0) | 2008.07.13 |
항목 7 : new로 생성한 포인터의 컨테이너를 사용할 대에는 컨테이너가 소멸되기 전에 포인터를 delete하는 일을 잊지 말자. (0) | 2008.07.13 |
항목 5 : 단일 요소를 단위로 동작하는 멤버 함수보다 요소의 범위를 단위로 동작하는 멤버 함수가 더 낫다. (0) | 2008.07.13 |
항목 4 : size()의 결과를 0과 비교할 생각이라면, 차라리 empty를 호출하자 (0) | 2008.07.12 |
항목 3 : 복사(copy)는 컨테이너 안의 객체에 맞게 비용은 최소화하며, 동작은 정확하게 하자. (0) | 2008.07.12 |
항목 2: "컨테이너에 독립적인(container-independent) 코드"라는 환상을 조심하자. (0) | 2008.07.12 |
항목 1: 적재적소에 알맞는 컨테이너를 사용 하자. (0) | 2008.07.11 |
최근댓글