Il mio approccio. Il nucleo è il motore. - pagina 8

 
Реter Konow:

Aggiungere un numero all'array usando ArrayResize su ogni transazione, e scrivere le proprietà della transazione in esso.

Cioè per un numero predeterminato di elementi usiamo questo:

#define  All_objects     30
#define  All_properties  10

E per creare elementi dinamicamente, usiamo ArrayResize. Giusto?

 
Continuerò tra un po'. Nel frattempo, potete fare domande.
 
Vasiliy Sokolov:

Cioè per un numero predefinito di elementi usiamo questo:

E per creare elementi dinamicamente, usiamo ArrayResize. Giusto?

Giusto. Nel caso dell'interfaccia grafica, il numero di oggetti è calcolato nella fase del kernel, quando viene letto il file del costruttore. Nel vostro caso, il numero di oggetti (la transazione è anche un oggetto del kernel), è sconosciuto. Quindi, il kernel dovrebbe essere dinamico. Le sue dimensioni devono cambiare.

(Ho bisogno di fare lo stesso quando si crea un vis. studio, dove l'utente aggiunge oggetti al kernel senza reinizializzazione).

 
Реter Konow:

Corretto. Nel caso dell'interfaccia grafica, il numero di oggetti è contato nella fase di costruzione del kernel, quando viene letto il file del costruttore. Nel vostro caso, il numero di oggetti (la transazione è anche un oggetto del kernel), è sconosciuto. Quindi, il kernel dovrebbe essere dinamico. Le sue dimensioni dovrebbero cambiare.

(Ho bisogno di fare lo stesso quando creo un vis. studio, dove l'utente aggiunge oggetti al kernel senza reinizializzazione).

E se uso sempre ArrayResize invece di

#define  All_objects     30
#define  All_properties  10

Sarà un errore?

 
 
Vasiliy Sokolov:

Cosa succede se uso sempre ArrayResize invece di

Sarebbe un errore?

No. Questo era solo un esempio semplificato. Tuttavia, in un Kernel bidimensionale, il numero di proprietà dell'oggetto deve essere conosciuto in anticipo.

 
Nikolai Semko:

L'uomo è solo un'altra delle biciclette della natura. Geneticamente, è solo il tre per cento diverso da una scimmia. Tuttavia, non confondete le due cose.

 
Реter Konow:

No. Quello era solo un esempio semplificato. Tuttavia, in un Kernel bidimensionale, il numero di proprietà dell'oggetto deve essere conosciuto in anticipo.

Per favore, chiarisci, cosa intendi per "conosciuto in anticipo"? Che ogni elemento ha un numero predefinito di proprietà , o che ognuna di queste proprietà deve essere impostata dall'utente?

 
Non è riuscito a superarlo di nuovo :) Mi dispiace.
C'è stato un "colpo sopra la gamba" di recente, penso che qui ci sia sicuramente un colpo alla testa.
Il topic-starter ha imparato cosa sono gli array e ha imparato il mondo, e cosa succederà quando imparerà le liste ...
Il mondo si capovolgerà e ci saranno nuovi orizzonti.
 
Vasiliy Sokolov:

Per favore, chiarisci cosa intendi per "predefinito"? Che ogni elemento ha un numero predefinito di proprietà , o che ognuna di queste proprietà deve essere impostata dall'utente?

Una volta che avete impostato un certo numero di proprietà per un oggetto, non potete cambiarlo. Se lo cambiate, sarete fuori dalla matrice.

Dovete conoscere in anticipo tutte le proprietà dei vostri oggetti. Date loro degli indici. E tutti devono stare nella fila del Kernel.

Ma il Kernel può essere dinamico, e si può cambiare il numero di elementi e oggetti in esso. Per questo, usate ArrayResize.