부스트와 Qt로 작업하는 행복한 사람들이 있습니다. 내 "임베디드"프로젝트에서는 집에서 만든 컨테이너 클래스를 사용해야합니다. OK, 충분히 불평.C++의 Foreach 구현, 가난한 사람의 접근 방식
나는 그렇게 쉽고 자체에 포함 된 foreach 문을 구현하기 위해 시도했다 : 그것은 연산 []과의 getSize() 메소드가 문자열 목록을 반복
#define ForEachString(S,C) TString S;\
for (int i=0; i<C.GetSize() && (!!(&(S=C[i]))); ++i )
. 예 :
TStringList tables;
ForEachString(table, tables)
{
//do sth. with tab.
}
원인은 각 컨테이너 유형마다 자체 매크로가 필요하다는 것입니다. 따라서 내 질문 : 컨테이너 자체 독립적 인 포함 할 수 있습니까 (모든 필수 내용 내에서 매크로 정의)?
감사합니다, 발렌틴
대답은 "예"이며 설명은 [여기] (http://www.artima.com/cppsource/foreach.html)에서 찾을 수 있습니다. –
그냥 STL과 같은 메소드 이름을 따르십시오. – werehuman
표준이 아니며 가독성을 크게 높이 지 못하고 중복 정의 같은 문제를 숨길 수 있습니다. –