Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Variabili immodificabili [C++]

Linguaggi e sistemi

Moderatori: Foto UtenteMassimoB, Foto UtentePaolino, Foto Utentefairyvilje

0
voti

[1] Variabili immodificabili [C++]

Messaggioda Foto Utentedaniele1996 » 30 ago 2014, 0:58

Salve a tutti, quando programmavo in java, esisteva l'attributo "final" che si poteva attribuire alle variabili, è possibile fare ciò anche in C++?
Avatar utente
Foto Utentedaniele1996
608 2 8 11
Sostenitore
Sostenitore
 
Messaggi: 1439
Iscritto il: 29 ago 2011, 11:29

0
voti

[2] Re: Variabili immodificabili [C++]

Messaggioda Foto Utenteeimiar » 30 ago 2014, 1:13

Avatar utente
Foto Utenteeimiar
253 5
Frequentatore
Frequentatore
 
Messaggi: 108
Iscritto il: 3 feb 2011, 16:41

2
voti

[3] Re: Variabili immodificabili [C++]

Messaggioda Foto Utentefairyvilje » 30 ago 2014, 3:51

Dichiarale const ovvero costanti.

Codice: Seleziona tutto
const int hello_world=10;  //Importante dargli un valore durante la definizione!
"640K ought to be enough for anybody" Bill Gates (?) 1981
Qualcosa non ha funzionato...

Lo sapete che l'arroganza in informatica si misura in nanodijkstra? :D
Avatar utente
Foto Utentefairyvilje
14,2k 4 9 12
G.Master EY
G.Master EY
 
Messaggi: 2954
Iscritto il: 24 gen 2012, 19:23

0
voti

[4] Re: Variabili immodificabili [C++]

Messaggioda Foto Utentedaniele1996 » 30 ago 2014, 12:22

non esiste una costante inizializzabile con una funzione?
Avatar utente
Foto Utentedaniele1996
608 2 8 11
Sostenitore
Sostenitore
 
Messaggi: 1439
Iscritto il: 29 ago 2011, 11:29

1
voti

[5] Re: Variabili immodificabili [C++]

Messaggioda Foto UtenteRussell » 30 ago 2014, 12:35

si certo, devi solo scrivere:
Codice: Seleziona tutto
const int hello_world=miafunzione();


ma non è detto che vada con tutti i compilatori/architetture

Con Visual Studio ho appena verificato che funziona
Avatar utente
Foto UtenteRussell
3.373 3 5 9
Master
Master
 
Messaggi: 2194
Iscritto il: 4 ott 2009, 10:25

0
voti

[6] Re: Variabili immodificabili [C++]

Messaggioda Foto Utentedaniele1996 » 30 ago 2014, 12:39

ehm, mi servirebbe in ambito di micro... (AVR) e non lo accetta... in ogni caso sta parola const la ricorderò... ma i dati vengono messi nella ram con questo attributo? o viene fatta una sostituzione (come per i define)?
Avatar utente
Foto Utentedaniele1996
608 2 8 11
Sostenitore
Sostenitore
 
Messaggi: 1439
Iscritto il: 29 ago 2011, 11:29

2
voti

[7] Re: Variabili immodificabili [C++]

Messaggioda Foto UtenteRussell » 30 ago 2014, 12:44

quando inserisci valori numerici in pratica si comporta come una #define
ecco perche' alcuni compilatori non ti permettono di usare funzioni

i compilatori che ti accettano funzioni in realtà devono implementare la const come una variabile RAM forzatamente
usano il termine 'const' solo per verificare che non la usi mai in scrittura

ti consiglio comunque di usare la 'const' al posto della #define in generale
dato che vieni supervisionato dal compilatore dovresti evitare errori grossolani
e anche il fatto che puoi definire il 'tipo' della variabile è spesso un vantaggio in ottica "possibili ambiguità"
Avatar utente
Foto UtenteRussell
3.373 3 5 9
Master
Master
 
Messaggi: 2194
Iscritto il: 4 ott 2009, 10:25

0
voti

[8] Re: Variabili immodificabili [C++]

Messaggioda Foto Utentedaniele1996 » 30 ago 2014, 12:55

Ottimo... quindi usando la "const" nei micro (visto che non fa inizializzare con una funzione) viene messa in memoria flash... giusto?
Avatar utente
Foto Utentedaniele1996
608 2 8 11
Sostenitore
Sostenitore
 
Messaggi: 1439
Iscritto il: 29 ago 2011, 11:29

2
voti

[9] Re: Variabili immodificabili [C++]

Messaggioda Foto UtenteRussell » 30 ago 2014, 13:27

Si esatto,
il numero viene sostituito alla costante, e viene inserito direttamente nel codice macchina (Assembler immagino) nella parte di memoria programma.
Quindi quella variabile non usa RAM in fase di esecuzione... infatti non è piu' corretto chiamarla 'variabile', in quanto non varia: è una costante :D
Avatar utente
Foto UtenteRussell
3.373 3 5 9
Master
Master
 
Messaggi: 2194
Iscritto il: 4 ott 2009, 10:25

0
voti

[10] Re: Variabili immodificabili [C++]

Messaggioda Foto Utentedaniele1996 » 30 ago 2014, 14:15

Ottimo :) Grazie per le delucidazioni :)
Avatar utente
Foto Utentedaniele1996
608 2 8 11
Sostenitore
Sostenitore
 
Messaggi: 1439
Iscritto il: 29 ago 2011, 11:29

Prossimo

Torna a PC e informatica

Chi c’è in linea

Visitano il forum: Nessuno e 7 ospiti