C++-Visualisierung - Release-Informationen

© Copyright International Business Machines Corporation 2006. All rights reserved.
© Copyright IBM Deutschland GmbH 2006. Alle Rechte vorbehalten.

Release-Informationen

1.0 Einschränkungen
   1.1 Unterstützung spezialisierter Schablonen
   1.2 Bearbeiten der Felder und Methoden von anonymen C++-Typen
   1.3 Bearbeiten der Felder und Methoden von verschachtelten C++-Typen
2.0 Bekannte Probleme und Problemlösungen
   2.1 Typdefinitionen mit qualifizierten Namen
   2.2 Diagramme mit Codeänderungen und Index aktualisieren

1.0 Einschränkungen

1.1 Unterstützung spezialisierter Schablonen

Normale C++-Schablonen können visualisiert und bearbeitet werden. Spezialisierte Schablonenversionen und teilweise Spezialisierungen werden jedoch nicht unterstützt, da keine CDT-Unterstützung vorhanden ist. Die aktuelle Benutzerschnittstelle inaktiviert nicht die Visualisierungeinträge für vollständige und teilweise Spezialisierungen, sondern hat einfach keine Auswirkungen. Beispiel:
template <class T> class MyVec {
 T* data;
 int length;
}; 

Hierbei handelt es sich um die normale Schablone. Die Visualisierung für diese Schablone wird erfolgreich durchgeführt.

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

Hierbei handelt es sich um die spezialisierte Schablone. Die Visualisierung für diese Schablone schlägt fehl.

1.2 Bearbeiten der Felder und Methoden von anonymen C++-Typen

Die Bearbeitung von Feldern und Methoden wird nicht für anonyme C++-Typen unterstützt. Beispiel:
class c1 {
   class {int j;} abc;    // The type of member abc is an anonymous type since defining class has not been given any typename
};

Hier ist der Typ des Felds 'abc' eine anonyme Klasse.

Die C++-Visualisierung ist derzeit nicht in der Lage, die Deltas für anonyme Typen zu handhaben, wenn Editiervorgänge wie das Hinzufügen oder Löschen von Feldern, Methoden und Aufzählungsliteralen im Diagramm ausgeführt werden.  Deswegen sind die Editierfunktionen für die C++-Visualisierung für anonyme Typen nicht aktiviert. Allgemein wird empfohlen, so weit wie möglich mit den benannten Typen zu arbeiten, damit die Editierfunktionen verfügbar sind. Wenn dies nicht möglich ist, muss der Code direkt bearbeitet werden.

1.3 Bearbeiten der Felder und Methoden von verschachtelten C++-Typen

Die Bearbeitung der Felder und Methoden von benannten C++-Typen, die in einem anonymen Namensbereich verschachtelt sind, wird nicht unterstützt. Beispiel:

namespace {   // anonymous namespace
    class c1 {};
}

In diesem Beispiel ist 'c1' ein benannter Typ, der in einem anonymen Namensbereich verschachtelt ist.

Die C++-Visualisierung ist derzeit nicht in der Lage, die Änderungen an benannten Typen zu handhaben, die in anonymen Namensbereichen verschachtelt sind, wenn Editiervorgänge wie das Hinzufügen oder Löschen von Feldern, Methoden und Aufzählungsliteralen im Diagramm ausgeführt werden. Deswegen sind die Editierfunktionen der C++-Visualisierung für benannte Typen inaktiviert, die in anonymen Namensbereichen verschachtelt sind. Allgemein wird empfohlen, so weit wie möglich mit den benannten Namensbereichen zu arbeiten, damit die Editierfunktionen verfügbar sind. Wenn dies nicht möglich ist, muss der Code direkt bearbeitet werden.

2.0 Bekannte Probleme und Problemlösungen

2.1 Typdefinitionen mit qualifizierten Namen

Typendefinition mit qualifizierten Namen werden nicht für C++-Visualisierungen unterstützt. Beispiel:

namespace n1 {
   class c1;    // Forward declaration of class c1
}
class n1::c1{ int i;};   //  Definition of class c1 using the fully qualified name.

Die C++-Visualisierung kann die obigen Definitionen nicht handhaben. Deswegen schlägt die Visualisierung für die Klasse 'c1' fehl.

Problemumgehung: Verwenden Sie das folgende Äquivalent des obigen Codes:

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

2.2 Diagramme mit Codeänderungen und Index aktualisieren

Manchmal finden Änderungen am Code wie zum Beispiel das Umbenennen von Elementen oder das Hinzufügen bzw. Löschen eines Members in Typen  nicht ihren Niederschlag in den Visualisierungsdiagrammen. Die häufigsten Ursachen hierfür sind unzulängliche oder fehlende Änderungsbenachrichtigungen in CDT.

Problemumgehung:  Machen Sie falsche Änderungen an einer Datei, und speichern Sie den Code noch einmal.  Außerdem kann manchmal auch der "C/C++-Index", der von CDT erstellt wird, nicht mit dem Code konsistent sein. Eine schnelle Überprüfung des C/C++-Index (Sicht anzeigen > Andere > C/C++ > C/C++-Index) gibt darüber Aufschluss, ob einige Einträge fehlen und gibt Hinweise darauf, ob die Aktualisierung des Index ein Problem ist. In solchen Fällen kann eine erneute Erstellung des Index für das Projekt hilfreich sein. Eine erneute Erstellung des Index ist für große Projekte jedoch zeitaufwändig und sollte nur nach sorgfältigem Abwägen aller Faktoren durchgeführt werden. Wenn Sie zusammengehörige Elemente in einem Diagramm anzeigen möchten, wählen Sie die Option Vollständiges C/C++-Indexierprogramm aus.