Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    106

    [c++]Variabili globali -static- extern

    Ciao a tutti,volevo una conferma su ciò che ho capito,su questi tre argomenti..
    Quando dichiaro una variabile extern significa che la sua definizione é presente in un'altro file del mio progetto.
    Le variabili globai sono tutte static,ma quando la dichiaro static esplicitamente ,sono "protette" cioè visibili solo in quel file in cui vengono definite..
    Se cerco di accedervi da altri file il linker mi da errore.
    Giusto??
    Ma il tempo di vita delle mie variabili non static,qual'é il file,o il progetto??
    Grazie

  2. #2
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381

    Re: [c++]Variabili globali -static- extern

    Originariamente inviato da Gianni91
    Quando dichiaro una variabile extern significa che la sua definizione é presente in un'altro file del mio progetto.
    Si. Per essere precisi, il linker si aspetta che la variabile sia definita in un solo modulo. Se non lo è da errore.

    Le variabili globai sono tutte static,ma quando la dichiaro static esplicitamente ,sono "protette" cioè visibili solo in quel file in cui vengono definite..
    Lo sono a preciscindere. Se vuoi accedervi devi dichiararle extern in un file header.
    Ma il tempo di vita delle mie variabili non static,qual'é il file,o il progetto??
    Grazie
    Se dichiari una variabile all'interno di un ciclo for, essa esiste solo in quel for.
    Se lo fai all'interno di una funzione, solo all'interno della funzione.
    Dipende dallo scope.
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    106

    Re: Re: [c++]Variabili globali -static- extern

    Originariamente inviato da shodan
    Se dichiari una variabile all'interno di un ciclo for, essa esiste solo in quel for.
    Se lo fai all'interno di una funzione, solo all'interno della funzione.
    Dipende dallo scope.
    ok io parlavo di una variabile globale,quindi al di fuori delle funzioni,queste posso essere utilizzare negli agli file ,che fanno parte del mio progetto???

  4. #4
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Una variabile globale definita all'interno di un file .cpp ha visibilità solo in quel file.
    Per avere visibilità in altri file la devi dichiarare extern in uno o più file header.

    extern int variabile è solo un'etichetta per avere il linkage esterno.
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.