Domanda

La mia ipotesi è che le variabili di classe (classe"var") sono veramente globale in deposito (che è, un esempio per tutta l'applicazione).

Ma mi sto chiedendo se questo è il caso, o se sono thread in deposito (ad esempio, simile a un "threadvar") - una volta istanza per thread.

Qualcuno sa?

Edit:cambiato "ambito di applicazione" di "di stoccaggio" in quanto questo è in realtà la terminologia corretta, e quello che sono dopo (grazie Barry)

È stato utile?

Soluzione

Sì, le variabili di classe sono globalmente ambito.Avere uno sguardo nel RTL fonte per i dettagli su come threadvars sono implementati.Sotto Win32 ogni thread può avere un blocco di memoria allocato automaticamente sulla creazione di thread.Questo extra area dati è quello che viene utilizzato per contenere il vostro threadvars.

Altri suggerimenti

Le variabili di classe sono filtrati in base ai loro membri di visibilità attributi, e hanno la memorizzazione globale, non thread di archiviazione.

Ambito sintattico concetto, e si riferisce a ciò che gli identificatori sono visibili da dove.È il deposito della variabile che è di preoccupazione qui.

Le variabili di classe sono esattamente come le classi:globale e unica per l'applicazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top