Le lingue di livello superiore (o di scripting) là fuori hanno strutture dati che possono contenere diversi tipi di dati (come numeri, stringhe e persino funzioni) nella stessa struttura, e puoi anche aggiungere elementi senza preoccuparti delle loro dimensioni, che non devi specificare. A volte vengono chiamati elenchi.
Al contrario, i linguaggi di livello inferiore (ad esempio C ++ o anche C migliore, che è la lingua di base per molti linguaggi di scripting) consentono piuttosto il contrario: supportano solo array dimensionati che possono contenere solo un tipo specifico di dati. Potresti continuare virtualmente ad aggiungere articoli dopo che è stata riempita la dimensione specificata, ma sarebbe pericoloso.
Quindi in che modo questi tipi di strutture di dati vengono trovati nei linguaggi di livello superiore implementati nella lingua di livello inferiore in cui sono scritti?
La cosa più vicina che sono riuscito a scrivere era una classe in C ++ che assegnava una certa quantità di memoria e, quando le sue dimensioni erano piene, assegnava un blocco di memoria più lungo, copiava gli elementi in quel blocco e liberava il primo, ma questo non sembra affatto efficiente e comunque permette solo di aggiungere un tipo specifico di oggetto e solo in un modo simile a una pila (dove puoi solo spingere o far saltare, non assegnare un elemento a un indice casuale).