Quando si utilizza la classe di memoria in
in D, i dati non sono modificabili per la propria funzione. Anche questo passa i dati per riferimento e non per valore? Ho notato che in ref
non è valido.Classe di memorizzazione "in" D
Se in
non passa i dati per riferimento, esiste un modo per ottenere i dati per riferimento ma una garanzia per il chiamante che i dati non verranno modificati?
A proposito: quanto è meglio passare un oggetto di classe "enorme" per funzionare? in C++ vengono usati i riferimenti const - quindi, 'ref const BaseClass obj' è completamente simile a' const BaseClass & obj' in C++? – Raxillan
@Raxillan Sì, sono equivalenti. Vale anche la pena notare che 'ref' è necessario solo per le enormi strutture, poiché le classi vengono sempre passate per riferimento. – Maxpm
Grazie! Tuttavia, è strano per me quali strutture e classi siano entità differenti in D - in C++ 'struct' è solo una classe con la protezione' pubblica' di default per tutti i membri. Interessante. – Raxillan