C++ 도메인 모델링 릴리스 정보

© Copyright International Business Machines Corporation 2006. All rights reserved. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.

릴리스 정보

1.0 제한사항
   1.1 템플리트 전문 지원
   1.2 익명의 C++ 유형의 필드 및 메소드 편집
   1.3 중첩된 C++ 유형의 필드 및 메소드 편집
2.0 알려진 문제점 및 해결 방법
   2.1 규정된 이름의 유형 정의
   2.2 코드 변경 및 색인으로 다이어그램 새로 고치기

1.0 제한사항

1.1 템플리트 특수화 지원

일반 C++ 템플리트는 특수화와 편집이 가능합니다. 하지만 CDT 지원이 부족하기 때문에 템플리트 특수화와 부분 특수화는 지원되지 않습니다. 현재 UI에서는 전체 및 부분 특수화의 시각화 항목이 사용 가능합니다. 예를 들면, 다음과 같습니다.
template <class T> class MyVec {
 T* data;
 int length;
}; 

이것은 일반 템플리트입니다. 이에 대한 시각화는 성공합니다.

template <> class MyVec<bool> {
 unsigned int * data;
 int length;
}; 

이것은 템플리트 특수화입니다. 이에 대한 시각화는 실패합니다.

1.2 익명의 C++ 유형의 필드 및 메소드 편집

필드 및 메소드 편집은 익명의 C++ 유형에 지원되지 않습니다. 예를 들면, 다음과 같습니다.
class c1 {
   class {int j;} abc;    // 구성원 abc의 유형은 클래스에 어떤 유형 이름도 제공되지 않도록 정의되었으므로 익명의 유형입니다.
};

필드 abc의 유형은 익명의 클래스입니다.

필드, 메소드 및 열거형 리터럴의 추가 또는 삭제와 같은 편집 조작이 다이어그램에서 수행될 때 현재 C++ 시각화에서는 델타 변경 처리가 불가능합니다. 따라서 C++ 시각화 편집 기능은 익명의 유형에 사용 불가능합니다. 일반적으로 편집 기능이 사용 가능하도록 이름 지정된 유형을 사용하여 작업할 것을 권장합니다. 이러한 작업이 가능하지 않은 경우 직접 코드를 편집해야 합니다.

1.3 중첩된 C++ 유형의 필드 및 메소드 편집

익명의 이름 공간에 중첩된 C++ 유형의 필드 및 메소드 편집이 지원되지 않습니다. 예를 들면, 다음과 같습니다.

namespace {   // 익명의 이름 공간
    class c1 {};
}

클래스 c1은 익명의 이름 공간에 중첩된 이름 지정된 유형입니다.

필드, 메소드 및 열거형 리터럴의 추가 또는 삭제와 같은 편집 조작이 다이어그램에서 수행될 때 현재 C++ 시각화에서는 익명의 이름 공간에 중첩된 이름 지정된 유형에 대한 변경사항 처리가 불가능합니다. 따라서 C++ 시각화 편집 기능은 익명의 이름 공간에 중첩된 이름 유형에 사용 불가능합니다. 일반적으로 편집 기능이 사용 가능하도록 이름 지정된 이름 공간을 사용하여 작업할 것을 권장합니다. 이러한 작업이 가능하지 않은 경우 직접 코드를 편집해야 합니다.

2.0 알려진 문제점 및 해결 방법

2.1 규정된 이름의 유형 정의

규정된 이름의 유형 정의는 C++ 시각화에 지원되지 않습니다. 예를 들면, 다음과 같습니다.

namespace n1 {
   class c1;    // class c1의 다음 선언
}
class n1::c1{ int i;};   //  완전한 이름을 사용한 class c1의 정의입니다.

C++ 시각화에서는 위와 같은 클래스 c1의 정의 및 시각화 실패를 처리할 수 없습니다.

해결 방법: 위의 코드에 해당하는 다음 코드를 사용하십시오.

namespace n1 {
 class c1{ int i;};
}

2.2 코드 변경 및 색인으로 다이어그램 새로 고치기

유형에 있는 구성원의 추가/삭제 또는 요소 이름 바꾸기를 포함한 코드의 변경사항은 시각화 다이어그램에 반영되지 않습니다. 이에 대한 가장 일반적인 원인은 CDT의 변경 알림이 부적절하거나 불충분하기 때문입니다.

해결 방법: 파일을 임시로 변경하고 한 번 더 코드를 저장하십시오.  또한 CDT로 작성된 "C/C++ 색인"이 코드와 일치하지 않을 수도 있습니다. 일부 항목이 누락된 경우 C/C++ 색인에 대한 빠른 확인(보기 표시 > 기타 > C/C++ > C/C++ 색인)으로 색인 갱신이 문제점임을 알 수 있습니다. 이런 경우 프로젝트의 색인을 다시 빌드하는 것이 좋습니다. 하지만 색인을 다시 빌드하면 큰 프로젝트의 경우 시간이 많이 걸리므로 상황에 맞게 사용해야 합니다. 다이어그램에 관련 요소를 표시하려면 전체 C/C++ 색인기 옵션을 선택하십시오.