Mein Ansatz. Der Kern ist der Motor. - Seite 8

 
Реter Konow:

Fügen Sie dem Array mit ArrayResize für jede Transaktion eine Zahl hinzu und schreiben Sie die Eigenschaften der Transaktion hinein.

D.h. für eine bestimmte Anzahl von Elementen verwenden wir dies:

#define  All_objects     30
#define  All_properties  10

Und um Elemente dynamisch zu erstellen, verwenden wir ArrayResize. Oder?

 
Ich werde in Kürze fortfahren. Im Moment können Sie Fragen stellen.
 
Vasiliy Sokolov:

D.h. für eine vordefinierte Anzahl von Elementen verwenden wir dies:

Und um Elemente dynamisch zu erstellen, verwenden wir ArrayResize. Richtig?

Richtig. Im Falle der Graphschnittstelle wird die Anzahl der Objekte in der Kernelphase berechnet, wenn die Konstruktordatei gelesen wird. In Ihrem Fall ist die Anzahl der Objekte (die Transaktion ist auch ein Kernel-Objekt) unbekannt. Der Kernel sollte also dynamisch sein. Seine Größe sollte sich ändern.

(Ich muss dasselbe tun, wenn ich ein vis. Studio erstelle, bei dem der Benutzer Objekte zum Kernel hinzufügt, ohne dass eine Neuinitialisierung erfolgt).

 
Реter Konow:

Richtig. Im Falle der grafischen Schnittstelle wird die Anzahl der Objekte in der Kernel-Konstruktionsphase gezählt, wenn die Konstruktor-Datei gelesen wird. In Ihrem Fall ist die Anzahl der Objekte (die Transaktion ist auch ein Kernel-Objekt) unbekannt. Der Kernel sollte also dynamisch sein. Seine Größe muss sich ändern.

(Ich muss dasselbe tun, wenn ich ein vis. Studio erstelle, in dem der Benutzer Objekte zum Kernel hinzufügt, ohne dass eine Neuinitialisierung erfolgt).

Und wenn ich immer ArrayResize anstelle von

#define  All_objects     30
#define  All_properties  10

Wird es ein Fehler sein?

 
 
Vasiliy Sokolov:

Was ist, wenn ich immer ArrayResize anstelle von

Wäre das ein Fehler?

Nein. Dies war nur ein vereinfachtes Beispiel. Bei einem zweidimensionalen Kernel muss jedoch die Anzahl der Objekteigenschaften im Voraus bekannt sein.

 
Nikolai Semko:

Der Mensch ist nur eines der Fahrräder der Natur. Genetisch unterscheidet er sich nur zu drei Prozent von einem Affen. Sie sollten die beiden jedoch nicht verwechseln.

 
Реter Konow:

Nein. Das war nur ein vereinfachtes Beispiel. Bei einem zweidimensionalen Kernel muss jedoch die Anzahl der Objekteigenschaften im Voraus bekannt sein.

Bitte klären Sie, was Sie mit "im Voraus bekannt" meinen? Dass jedes Element eine vordefinierte Anzahl von Eigenschaften hat , oder dass jede dieser Eigenschaften vom Benutzer festgelegt werden muss?

 
Konnte nicht wieder daran vorbeikommen :) Entschuldigung.
Kürzlich gab es einen "Schuss über dem Bein", ich denke, es handelt sich hier definitiv um einen Schuss in den Kopf.
Der Themenstarter hat gelernt, was Arrays sind und die Welt kennengelernt, und was passieren wird, wenn er etwas über Listen lernt ...
Die Welt wird sich auf den Kopf stellen, und es wird neue Horizonte geben.
 
Vasiliy Sokolov:

Bitte klären Sie, was Sie mit "vordefiniert" meinen? Dass jedes Element eine vordefinierte Anzahl von Eigenschaften hat , oder dass jede dieser Eigenschaften vom Benutzer festgelegt werden muss?

Sobald Sie eine Reihe von Eigenschaften für ein Objekt festgelegt haben, können Sie es nicht mehr ändern. Wenn Sie es ändern, sind Sie nicht mehr in der Reihe.

Sie müssen alle Eigenschaften Ihrer Objekte im Voraus kennen. Geben Sie ihnen Indizes. Und sie müssen alle in die Zeile des Kernels passen.

Aber der Kernel kann dynamisch sein, und Sie können die Anzahl der Elemente und Objekte darin ändern. Verwenden Sie dazu ArrayResize.